0

私のプログラムの機能には、フォルダーからのファイルが必要です。フォルダーがプログラムの .exe と同じディレクトリになるように指定できるかどうかを知りたいです (したがって、ユーザーがインストール中にディレクトリを変更すると、プログラム内で自動的に変更されます)。

たとえば、.exe が "C:/Program Files/MyProgram" にある場合、プログラムは自動的に "C:/ProgramFiles/MyProgram/MyFile" を探しますか? .exe が "D:/MyStuff/MyProgram" にある場合、プログラムは自動的に "D:/MyStuff/MyProgram/MyFile" を探しますか?

ファイル パスの指定

ここで、.exe と同じ場所にあるように指定したいと思います..

これは可能ですか?

4

2 に答える 2

0

GUI アプリで作業ディレクトリを制御するのは非常に困難です。作業ディレクトリは、実行可能ファイルを含むディレクトリではない場合があります。または、プロセス内のコードによって作業ディレクトリが変更された可能性があります。また、相対パスは作業ディレクトリからの相対パスであるため、相対パスを使用しようとする試みは宝くじのようなものになります。

したがって、絶対パスを使用することをお勧めします。Path.Combine を使用して、実行可能ファイルを含むパス (たとえば、Assembly.GetExecutingAssembly().Location を使用) とファイル名を結合し、その結果の絶対パスを使用します。

于 2013-04-28T11:28:11.747 に答える