• ベストアンサー

EXEのパス名を取得したいのですが・・・

お世話になります。度々質問させていただいてますmmc820です。 現在、あるプログラムを作成しているのですが、VB上からEXEを起動させるのですが、この時にEXEのパス名を取得したいのです。 いろいろ調べてみましたが、なにぶん初心者で理解し切れません。 できるだけ簡単な方法があればと思い、質問させていただきました。 相対パスで指定できれば良いのですが、その方法すらわかりません。 どうか皆様のお知恵をお借りできないでしょうか? 開発環境はWindows2000、VB6.0です。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dinowave
  • ベストアンサー率48% (20/41)
回答No.1

参考URLのところの「Download」で 「プログラミングソース(VB)」 というところがあり そこの「VisualBasic API サンプル集」というのがあります それにいろいろとサンプルが入っています まず、解凍したら「API.exe」を実行して 「システム」の「1.各種情報を取得する」 というやつがあります それを選択して「実行」というボタンをおし 「カレントプロセスのカレントディレクトリを取得する」 というやつです それで、このサンプルを見たいときは「実行」というボタンではなく 「ソースを表示」というボタンを押します すると、その実行したやつのサンプルを見ることができますよ♪

参考URL:
http://homepage1.nifty.com/MADIA/
mmc820
質問者

お礼

すばらしい!!イメージ通りです!! ありがとうございます。これを参考にしてやってみます。 今夜はぐっすり眠れそうです ¥(^O^)♪ 有難うございました!!今後とも宜しくお願いします。

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

SearchTreeForFile APIを使用して。 Cドライブにあるtest.exeのパスを取得 Option Explicit Private Declare Function SearchTreeForFile Lib "imagehlp.dll" _ (ByVal RootPath As String, ByVal InputPathName As String, _ ByVal OutputPathBuffer As String) As Long Private Function fFilePath(ByVal RootFolder As String, _ ByVal FileName As String) As String Dim Ret As Long Dim strBuffer As String strBuffer = String$(256, Chr$(0)) Ret = SearchTreeForFile("c:\", "test.exe", strBuffer) If Ret Then fFilePath = Left$(strBuffer, InStr(strBuffer, vbNullChar) - 1) Else fFilePath = "File Not Found" End If End Function これではどうでしょうか。

mmc820
質問者

お礼

ご回答有難うございます。 この方法(APIですか?)は知りませんでした。ほんと勉強不足ですね。(^_^;) 一行ずつ勉強して参考にさせていただきます。 また、質問する機会があるかと思いますが、その折はまたお力添え下さいませ。 有難うございました。

関連するQ&A