2009-08-02 14 views

risposta

12

Chiama GetModuleFileNameEx. Disponibile a partire da Windows 2000.

DWORD WINAPI GetModuleFileNameEx(
    __in  HANDLE hProcess, 
    __in_opt HMODULE hModule, 
    __out  LPTSTR lpFilename, 
    __in  DWORD nSize 
); 

Usa NULL per il secondo parametro per ottenere il nome del file EXE.

+0

Grazie, è esattamente ciò di cui avevo bisogno. – user145586

+2

funziona solo con un processo a 32 bit per processi a 32 bit, nell'altro caso si verifica un errore. Se non lo vuoi, lo vuoi fare con GetProcessImageFileName – Quonux

9

Il GetProcessImageFileName function recupera il nome del file eseguibile per l'handle del processo specificato (WinXP, Server 2k3 o successivo), così come QueryFullProcessImageName per Vista e 2k8 o successivo.

+0

** La funzione 'GetProcessImageFileName' restituisce il percorso sotto forma di dispositivo, piuttosto che lettere di unità. ** - È brutto. 'GetModuleFileNameEx' è il modo giusto :) – CodeAngry

Problemi correlati