2013-03-11 21 views

答えて

6

現在のディレクトリと作業ディレクトリは同じものに対して2つの異なる名前です。各プロセスは現在の単一のディレクトリを維持します。

現在のディレクトリは、起動時に、プロセスを作成するために使用される関数のパラメータとして指定されます(例:CreateProcess)。いずれかのアプリケーションの現在のディレクトリをどのように変更しますか?まあ、それはあなたがそれを始める方法によって異なります。

  • ショートカットから起動する場合は、ショートカットのプロパティを変更して現在のディレクトリを指定します。
  • コマンドプロンプトから起動すると、現在のディレクトリはコマンドプロンプトの現在のディレクトリになります。
  • CreateProcessを呼び出すと、のパラメータにCreateProcessが渡されます。 NULLを渡すと、親プロセスの現在のディレクトリが使用されます。
+0

ショートカットからメモ帳++を起動すると、プロセスエクスプローラで現在のディレクトリが表示されます。私はそれをC:\ Windowsと見なします。 createProcessを実行してlpCurrentDirectoryフィールドに有効なディレクトリ(D:\ abcd)を設定すると、C:\ Windowsが表示されます。 D:\ abcdを表示してはいけませんか? – user2024398

+0

さて、プロセスは、好きなときにいつでも自分のカレントディレクトリを変更できることに注意してください。おそらく、nppはそれをやっています。知りません。 'CreateProcess'呼び出しに欠陥がある可能性もあります。 –

+0

ありがとうございました:)...私はStackoverflowを初めて使用しており、私の評判は15ポイント以下ですので、私はあなたの答えをupvoteすることができません申し訳ありません。私は一度それを取得します。 – user2024398

関連する問題