2013-03-11 149 views

回答

6

當前目錄和工作目錄對同一事物只是兩個不同的名稱。每個進程維護一個當前目錄。

當前目錄在啓動時指定爲參數,無論用哪個函數創建進程,例如CreateProcess。你如何改變你的一個應用程序的當前目錄?那麼,這取決於你如何開始它。

  • 如果從快捷方式啓動它,請更改快捷方式的屬性以指定當前目錄。
  • 如果從命令提示符開始,當前目錄將是您啓動它時命令提示符的當前目錄。
  • 如果您通過致電CreateProcess開始,則工作電流將爲您在lpCurrentDirectory參數中傳遞給CreateProcess的任何值。如果您通過NULL,則會使用父進程的當前目錄。
+0

當我從快捷方式啓動Notepad ++時,我在Process Explorer中看到當前目錄。我將它視爲C:\ Windows。當我在lpCurrentDirectory字段中執行createProcess並設置一些有效的目錄(如D:\ abcd)時,它仍然顯示C:\ Windows。不應該顯示D:\ abcd? – user2024398 2013-03-11 11:36:27

+0

好的,記住一個進程可以隨時修改它自己的當前目錄。也許恩普正在那樣做。我不知道。您的'CreateProcess'調用也有可能存在缺陷。 – 2013-03-11 11:42:43

+0

感謝:)...對不起,我無法upvote你的答案,因爲我是新來的Stackoverflow和我的聲望低於15分。我一旦得到它們就會做。 – user2024398 2013-03-12 06:05:01