実行ファイルのフォルダ

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
BingoMan
記事: 36
登録日時: 2005年7月17日(日) 09:36
お住まい: 千葉県松戸市

実行ファイルのフォルダ

#1 投稿記事 by BingoMan »

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

実行ファイル自身の入っているフォルダのパスを簡単に調べる方法はありますでしょうか?よろしくお願いします。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

こんな感じでいけたと思います。

コード: 全て選択

#prompt
Dim buf[MAX_PATH-1] As Byte
GetCurrentDirectory(MAX_PATH,buf)
Print MakeStr(buf)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ゲスト

#3 投稿記事 by ゲスト »

ご回答ありがとうございます。
僕もGetCurrentDirectory関数でできると思ったのですが、実際にやってみるとD&Dしたファイルのディレクトリが戻ってきてしまい、exeファイル本体の入っているディレクトリは取得できませんでした。
というわけで別の方法を考えていますがなかなか思いつきません。よろしくお願いします。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 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)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
BingoMan
記事: 36
登録日時: 2005年7月17日(日) 09:36
お住まい: 千葉県松戸市

#5 投稿記事 by BingoMan »

ご回答ありがとうございます。教えていただいた方法で無事できました。
自分自身のパスを調べて最後の\以降を削れば自分の入っているフォルダが取得できるということですね。
勉強になりました。ありがとうございます。
返信する