我想获得进程的exe路径。我可以做得很好,但对于提升的流程,我无法拨打OpenProcess()
(错误是'访问被拒绝')。
是否可以在不需要提升权限的情况下确定任何进程的exe路径?也许我不需要打开/访问流程来确定这个?
以下OpenProcess
无法升级进程:
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
...
QueryFullProcessImageName(hProcess, 0, exePath, &len)
答案 0 :(得分:3)
删除PROCESS_VM_READ
访问限制器,因为QueryFullProcessImageName
功能不需要它。该文档描述了所需的进程句柄访问权限,如下所示:
流程的句柄。必须使用PROCESS_QUERY_INFORMATION或PROCESS_QUERY_LIMITED_INFORMATION访问权限创建此句柄。