C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 70 を表示中)
■40918 / )  Re[5]: Process.Startメソッドの引数について
□投稿者/ 魔界の仮面弁士 (1273回)-(2009/09/07(Mon) 13:49:28)
No40909 (らんぺるーる さん) に返信
> プログラム上において、どのフォルダがカレントディレクトリとして
> 扱われるのかは、知識がなかったので調べてみます。

カレント ディレクトリは、ドライブごとにそれぞれ存在しています。

ショートカットのプロパティでいうところの「作業フォルダ」は、アプリケーションの
起動直後における「カレント ドライブ上のカレント ディレクトリ」を指しています。


> 何かの処理を行った際に、カレントディレクトリが他のフォルダに設定され、
> アプリケーションが呼び出せなくなったのだと思います。

カレントディレクトリは、ユーザー操作(ファイルを開く/保存のダイアログなど)によって
変更される可能性があります。また、プログラムから変更する事も可能です。
たとえば、VB.NET であれば、このように書けます。

 ChDrive("C")  'カレント ドライブを C: にする。
 CurDir("C:\Program Files\") 'カレント ディレクトリを C:\Program Files にする。

 '現在のディレクトリ位置を確認する。
 Dim d1 As String = CurDir()
 Dim d2 As String = My.Computer.FileSystem.CurrentDirectory


Windows アプリケーションの場合、現在のカレントディレクトリ位置は
ユーザーには把握しにくいですし、アプリケーションの内部処理としては、
常に絶対パスとして処理させるようにした方が良いでしょうね。
返信 編集キー/


管理者用

- Child Tree -