确定进程的exe路径,包括提升的进程

时间:2016-07-19 05:27:37

标签: c winapi

我想获得进程的exe路径。我可以做得很好,但对于提升的流程,我无法拨打OpenProcess()(错误是'访问被拒绝')。

是否可以在不需要提升权限的情况下确定任何进程的exe路径?也许我不需要打开/访问流程来确定这个?

以下OpenProcess无法升级进程:

HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId); 

... 
QueryFullProcessImageName(hProcess, 0, exePath, &len)

1 个答案:

答案 0 :(得分:3)

删除PROCESS_VM_READ访问限制器,因为QueryFullProcessImageName功能不需要它。该文档描述了所需的进程句柄访问权限,如下所示:

  

流程的句柄。必须使用PROCESS_QUERY_INFORMATION或PROCESS_QUERY_LIMITED_INFORMATION访问权限创建此句柄。