一般是用GetModuleFileName,但这个函数需要对进程有可读可查询的权限,所以当进程只有可查询权限时,使用:
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, PID);
if (hProcess)
{
char szPath[MAX_PATH] = {0};
GetProcessImageFileName(hProcess, szPath, MAX_PATH);
str = szPath;
CloseHandle(hProcess);
}