ページ 11

実行ファイルのフォルダ

Posted: 2008年5月13日(火) 00:11
by BingoMan
現在D&Dで起動するプログラムを作っています。設定ファイルはexeファイルと同じディレクトリにあるので実行ファイル自身の入っているフォルダのパスを調べる必要があるんですがその方法がわかりません。

実行ファイル自身の入っているフォルダのパスを簡単に調べる方法はありますでしょうか?よろしくお願いします。

Posted: 2008年5月13日(火) 01:19
by konisi
こんな感じでいけたと思います。

コード: 全て選択

#prompt
Dim buf[MAX_PATH-1] As Byte
GetCurrentDirectory(MAX_PATH,buf)
Print MakeStr(buf)

Posted: 2008年5月13日(火) 22:28
by ゲスト
ご回答ありがとうございます。
僕もGetCurrentDirectory関数でできると思ったのですが、実際にやってみるとD&Dしたファイルのディレクトリが戻ってきてしまい、exeファイル本体の入っているディレクトリは取得できませんでした。
というわけで別の方法を考えていますがなかなか思いつきません。よろしくお願いします。

Posted: 2008年5月14日(水) 07:12
by konisi
これでいけますか?

コード: 全て選択

#prompt
Dim buf[MAX_PATH-1] As Byte,i As Long,j As long,len As Long
GetModuleFileName(0,buf,MAX_PATH)
len=lstrlen(buf)
For i=0 To len
	If buf>=128 then
		i++
	ElseIf buf=92 then
		j=i
	End If
Next
buf[j]=0
Print MakeStr(buf)

Posted: 2008年5月15日(木) 22:07
by BingoMan
ご回答ありがとうございます。教えていただいた方法で無事できました。
自分自身のパスを調べて最後の\以降を削れば自分の入っているフォルダが取得できるということですね。
勉強になりました。ありがとうございます。