我有以下代码正在从属于Users
组的本地用户下运行:
String processName = System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName;
使用以下堆栈System.ComponentModel.Win32Exception
声明失败:Access is denied
System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
System.Diagnostics.Process.get_MainModule()
现在MSDN 文章在页面底部有“社区内容”,说当代码被提升的进程或其他用户调用时会观察到这种行为,因为它会尝试打开进程。
好的,它尝试打开该进程,但代码在属于Users
组的用户下运行,为什么拒绝访问打开该进程?