2013-03-11 16 views

Odpowiedz

6

Aktualny katalog i katalog roboczy to tylko dwie różne nazwy tego samego. Każdy proces utrzymuje pojedynczy katalog bieżący.

Aktualny katalog jest określany podczas uruchamiania jako parametr dowolnej funkcji używanej do utworzenia procesu, na przykład CreateProcess. Jak zmienić aktualny katalog dla jednej z twoich aplikacji? To zależy od tego, jak ją uruchomisz.

  • Jeśli uruchomisz go ze skrótu, zmień właściwości skrótu, aby określić bieżący katalog.
  • Po uruchomieniu z wiersza polecenia bieżący katalog będzie bieżącym katalogiem wiersza polecenia w momencie jego uruchomienia.
  • Jeśli zaczniesz, dzwoniąc pod numer CreateProcess, prąd roboczy będzie taki sam, jak w przypadku parametru CreateProcess w parametrze lpCurrentDirectory. Jeśli przełączysz NULL, użyty zostanie bieżący katalog procesu nadrzędnego.
+0

Po uruchomieniu Notepad ++ ze skrótu widzę bieżący katalog w Eksploratorze procesów. Widzę to jako C: \ Windows. Kiedy robię createProcess i ustawię jakiś prawidłowy katalog (np. D: \ abcd) w polu lpCurrentDirectory, to wciąż pokazuje C: \ Windows. Czy nie powinien pokazywać D: \ abcd? – user2024398

+0

Pamiętaj, że proces może modyfikować swój katalog bieżący w dowolnym momencie. Być może robi to npp. Nie wiem Możliwe jest również, że w twoim wywołaniu "CreateProcess" jest błąd. –

+0

Dzięki:) ... Przykro mi, że nie mogę odpowiedzieć na twoją odpowiedź, ponieważ jestem nowy w Stackoverflow, a moja reputacja jest poniżej 15 punktów. Zrobię to, gdy je dostanę. – user2024398

Powiązane problemy