2013-03-11 18 views

risposta

6

La directory corrente e la directory di lavoro sono solo due nomi diversi per la stessa cosa. Ogni processo mantiene una singola directory corrente.

La directory corrente viene specificata all'avvio come parametro a seconda della funzione utilizzata per creare il processo, ad esempio CreateProcess. Come si modifica la directory corrente per una delle applicazioni? Bene, dipende da come lo si avvia.

  • Se si avvia da un collegamento, modificare le proprietà del collegamento per specificare la directory corrente.
  • Se si avvia da un prompt dei comandi, la directory corrente sarà la directory corrente del prompt dei comandi nel momento in cui viene avviata.
  • Se si inizia chiamando CreateProcess, la corrente di lavoro sarà qualsiasi cosa si passa a CreateProcess nel parametro lpCurrentDirectory. Se si passa NULL, verrà utilizzata la directory corrente del processo principale.
+0

Quando avvio Notepad ++ dal collegamento, vedo la directory corrente in Process Explorer. Lo vedo come C: \ Windows. Quando eseguo un comando createProcess e imposta una directory valida (ad esempio D: \ abcd) nel campo lpCurrentDirectory, mostra ancora C: \ Windows. Non dovrebbe mostrare D: \ abcd? – user2024398

+0

Bene, ricorda che un processo può modificare la propria directory corrente ogni volta che lo desidera. Forse npp lo sta facendo. Non lo so. È anche possibile che ci sia un difetto nella chiamata a 'CreateProcess'. –

+0

Grazie:) ... Mi dispiace non essere in grado di sviare la risposta perché sono nuovo su Stackoverflow e la mia reputazione è inferiore a 15 punti. Lo farò una volta che li avrò. – user2024398

Problemi correlati