我试图通过 pid 获取进程路径,但我得到 Win32Exception(访问 id 被拒绝)。
代码如下所示:
string path = Process.GetProcessById(pid).MainModule.FileName
我曾尝试将 OpenProcess 与 GetModuleFileNameEx 一起使用,但 OpenProcess 返回 0。我什至尝试根据C# 启用 SeDebugPrivilege – 如何启用 SeDebugPrivilege但没有帮助。
上面的代码适用于大多数进程,但对 SynTPHelper.exe(Synaptics Pointing Device Helper)抛出错误该应用程序在与我的代码相同的用户名下运行。我的应用程序和进程都以 64 位运行。
是否可以在不以管理员身份运行我的应用程序的情况下检索路径?
编辑
即使我没有以管理员身份运行任务管理器,它也能够“打开文件位置”。