単二電池

お世話になります。度々質問させていただいてますmmc820です。

現在、あるプログラムを作成しているのですが、VB上からEXEを起動させるのですが、この時にEXEのパス名を取得したいのです。
いろいろ調べてみましたが、なにぶん初心者で理解し切れません。
できるだけ簡単な方法があればと思い、質問させていただきました。

相対パスで指定できれば良いのですが、その方法すらわかりません。
どうか皆様のお知恵をお借りできないでしょうか?

開発環境はWindows2000、VB6.0です。宜しくお願いします。

A 回答 (2件)

参考URLのところの「Download」で


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

参考URL:http://homepage1.nifty.com/MADIA/
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/09/12 21:40

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

これではどうでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/09/12 21:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!