自プロジェクトの所在フォルダの取得方法を
教えてください
バージョン:VisualBasic2008ExpressEdision
編集 削除プロジェクト内のコードで取得したいということですか?
方法はあると思いますが、どうしてそういうことをしたいのかが気になります。
デバッグモードならともかく、リリースしたら、コンパイルした exe なり dll とプロジェクトは関係なくなると思うので、その場合はどうなるんでしょうか。
中級者の方だから、実行ファイルのフォルダってわけでも
なさそうですね。
http://dobon.net/vb/dotnet/vb6/apppath.html
自プロジェクトの所在フォルダってことは、vbprojがある
フォルダってことになるので、全てのドライブでファイル
検索するしかないのでは?
複数あったらどうするんだろ。
そもそも、カレントディレクトリとかでなくプロジェクトのディレクトリを何に使いたいのか疑問です。
やっぱり、初〜中の間ぐらいです。
配布先のファイル環境がどうなっているのかわからないのです。
たとえば、CドライブとDドライブを分けている環境では、
D:\ProgramFilesにアクセスしなければならない場合があります。
そもそも、ディストリビューションウィザードが使えないので、
インストールディレクトリがわからないのです。
発行済みexeで、効果音などを呼び出すとなると、
一緒にWAV等のファイルを送らなければいけないので。
あと、もう一つの方法があるんですけど、
ソリューションエクスプローラーに効果音を追加して、
ネームスペースで呼び出せますか?
↓
プロジェクト名.〜〜〜〜〜〜〜〜〜〜
というようなコードで呼び出す
おそらく、知りたいのはプロジェクトの場所ではなくて exe ファイルの場所ではないですか?
例えば、D:\Program Files\Hoge\Hoge.exe にインストールされているとき、D:\Program Files\Hoge\ が欲しいのですよね。
それが知りたいのであれば、やじゅさんが提示してくれたリンク先を見てください。
効果音を鳴らしたい場合、例えば D:\Program Files\Hoge\wav\sound.wav にファイルがあるとして、D:\Program Files\Hoge\ が特定できれば、あとはそのパスに wav\sound.wav をくっつければいいわけですからね。
配布形態がわからないのですが、通常、ビルドしたら exe ファイルと、必要であれば wav 等のファイルを配布して、ソースコードは配布しませんよね。
exe と wav だけ受け取った人は、「プロジェクト」を持っていませんから、リリース環境に「プロジェクトの所在フォルダ」というのはありません。
プロジェクトにリソースを追加することで、
> プロジェクト名.〜〜〜〜〜〜〜〜〜〜
とすることは可能です。
http://dobon.net/vb/dotnet/programing/vsresource.html
ただし、音声ファイルをいくつも埋め込むと、exe ファイルのサイズが肥大しますので注意してください。
リソースとして埋め込まなくても、
> プロジェクト名.〜〜〜〜〜〜〜〜〜〜
という呼び出し方にすることはできますが、それは要するにそういう呼び出し方で使えるクラスを自分で作るということなので、これという決まりきった方法はありません。
興味があればご自分で試行錯誤してみてください。
とても参考になりました!
ありがとうございます。
(正常に動作が確認できたら、解決チェックします。)
あと、exeに埋め込むのと、他から呼び出すのはどっちがファイルサイズが小さいですか?
・同じ ・exe ・他から
↑合計のサイズです。
編集 削除Dim Audio As Object
プロジェクト名.My.Resources.オーディオ
My.Computer.AudioPlay(Audio)
で再生できませんでした
My.Computer〜省略〜では再生できませんか?
追加
Dim Audio As Object
Audio=プロジェクト名.My.Resources.オーディオ
My.Computer.AudioPlay(Audio)
で再生できませんでした
My.Computer〜省略〜では再生できませんか?
タイトルと内容が違うものになってるんだから、別スレ立てた方がいいんでは?
本当は
> 2008/04/03(木) 16:22:48
の時点で別スレッド化の方がよかったんじゃ・・・
> あと、exeに埋め込むのと、他から呼び出すのはどっちがファイルサイズが小さいですか?
普通に考えて同じだと思いますが。
> 別スレ立てた方がいいんでは?
だとしても、スレ主以外が勝手に解決しない方がいいと思います。
間違って解決済みにしちゃったーい
すいませーん(てへw)