3

我有一段 C# 代码遍历所有正在运行的进程,找到一个特定的,并获取它的 ExecutablePath。问题是,尽管它设法找到想要的进程,但尝试获取 ExecutablePath 会返回 null。

现在,我对此做了一些更多的实验,结果发现,一些进程的代码获得了路径,其他进程返回 null,而且它似乎是任意的,因为我找不到进程与它是否返回之间的任何关联路径。

代码很好,但无论如何都是这样:

    string path = null;
    string processNameLowerCase = processName.ToLower() + ".exe";
    ManagementClass managementClass = new ManagementClass("Win32_Process");
    ManagementObjectCollection managementObjects = managementClass.GetInstances();
    foreach (ManagementObject managementObject in managementObjects) {
        string managedProcessNameLowerCase = ((string)managementObject["Name"]).ToLower();
        if (managedProcessNameLowerCase.StartsWith(processNameLowerCase)) {
            path = (string)managementObject["ExecutablePath"];
            break;
        }
    }

总而言之,我想知道的是如何获得我想要的进程的可执行文件路径。

4

0 回答 0