【发布时间】:2021-10-07 19:59:03
【问题描述】:
有没有办法从 processId 中获取系统文件的路径,例如“wininit.exe”?下面的代码不起作用。 Process.GetProcesses() 也不返回任何合乎逻辑的东西。请帮帮我。
附:我正在尝试根据自己的需要编写自己的任务管理器。
private static string GetMainModuleFilepath(int processId)
{
string wmiQueryString = "SELECT ProcessId, ExecutablePath FROM Win32_Process WHERE ProcessId = " + processId;
using (var searcher = new ManagementObjectSearcher(wmiQueryString))
{
using (var results = searcher.Get())
{
ManagementObject mo = results.Cast<ManagementObject>().FirstOrDefault();
if (mo != null)
{
return (string)mo["ExecutablePath"];
}
}
}
return null;
}
【问题讨论】:
标签: c# winforms process wmi-query