gpt4 book ai didi

.net - 获取不同用户下的进程路径

转载 作者:行者123 更新时间:2023-12-01 06:44:51 25 4
gpt4 key购买 nike

我正在编写一个程序来检查进程(当它们启动时),并杀死任何 Not Acceptable 进程。

我的程序大部分都完成了,但我只是遇到了一个问题:当我尝试获取在不同用户下运行的进程的路径(标准之一)时,(MainModule.FileName)出现异常:

System.ComponentModel.Win32Exception occurred
ErrorCode=-2147467259
Message="Access is denied"
NativeErrorCode=5
Source="System"
StackTrace:
at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId) at System.Diagnostics.Process.get_MainModule() at Forcep.Logic.ProcessStarted(Object sender, EventArrivedEventArgs e) in J:\Variable\Programming\Forcep\Forcep\Logic.vb:line 126

现在,进行检查的程序正在以完整的管理员权限运行,因此我几乎可以解决我需要的任何权限。

如何获取进程的路径? (顺便说一下,我可以使用 WMI,我已经将它用于此的另一部分)。

最佳答案

program doing the checking is running with complete administrator privileges



我假设您的意思是在启用了 UAC 的 Vista 或 Windows 7 上的“高级管理员”,通过右键单击可执行文件并选择“以管理员身份运行”来完成。

我在我的 Windows 7 系统上尝试了这个,唯一一个以这种方式失败的进程 MainModuleaudiodg .我认为这个过程受到保护,以确保音频数字权利的安全。如果您循环遍历所有进程,则应该捕获此异常。

(如果这不能回答您的问题,请考虑使用 Process Explorer 来检查给您带来麻烦的进程。右键单击进程资源管理器以将其提升运行。调出进程的属性,然后点击安全选项卡,权限按钮。将访问控制列表与您能够成功查询的进程进行比较。)

关于.net - 获取不同用户下的进程路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com