2009-08-02 27 views

Respuesta

12

Llame GetModuleFileNameEx. Fecha de disponibilidad de Windows 2000.

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

Uso NULL para el segundo parámetro para obtener el nombre del archivo EXE.

+0

Gracias, eso es exactamente lo que necesitaba. – user145586

+2

esto solo funciona con un proceso de 32 bits para procesos de 32 bits; en el otro caso, recibirá un error. Si no lo desea, hágalo con GetProcessImageFileName – Quonux

9

El GetProcessImageFileName function recupera el nombre del archivo ejecutable para el identificador de proceso especificado (WinXP, Server 2k3 o posterior), al igual que QueryFullProcessImageName para Vista y 2k8 o posterior.

+0

** La función 'GetProcessImageFileName' devuelve la ruta en forma de dispositivo, en lugar de letras de unidad. ** - eso es desagradable. 'GetModuleFileNameEx' es la forma correcta :) – CodeAngry

Cuestiones relacionadas