Win32API - 如何从进程句柄获取进程的文件名?

use*_*586 6 c++ winapi process

如何从进程句柄获取进程的文件名?我正在使用Win32 C++(Visual C++ Express Edition).

谢谢.

Rob*_*edy 12

打电话GetModuleFileNameEx.自Windows 2000起可用.

DWORD WINAPI GetModuleFileNameEx(
  __in      HANDLE hProcess,
  __in_opt  HMODULE hModule,
  __out     LPTSTR lpFilename,
  __in      DWORD nSize
);
Run Code Online (Sandbox Code Playgroud)

使用NULL第二个参数,以获得EXE文件的名称.

  • 这仅适用于32位进程的32位进程,在另一种情况下,您将收到错误.如果您不是那么想做它,请使用GetProcessImageFileName (2认同)

Ste*_*ham 9

GetProcessImageFileName函数检索指定进程句柄(WinXP,Server 2k3或更高版本)的可执行文件的名称,就像QueryFullProcessImageNameVista和2k8或更高版本一样.