尝试获取进程的可执行路径返回null

时间:2012-10-16 13:32:40

标签: c# process null executable-path

我有一段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;
        }
    }

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

0 个答案:

没有答案