C# C中的简单查询出现WMI错误#

C# C中的简单查询出现WMI错误#,c#,wmi,C#,Wmi,我试图在Windows 2000上使用以下代码: foreach (Process p in Process.GetProcesses()) { if (p.MainModule.FileName.EndsWith("calc.exe")) { using (ManagementObjectSearcher mos = new ManagementObjectSearcher( "S

我试图在Windows 2000上使用以下代码:

foreach (Process p in Process.GetProcesses())
{
    if (p.MainModule.FileName.EndsWith("calc.exe"))
    {
        using (ManagementObjectSearcher mos = 
                   new ManagementObjectSearcher(
                     "SELECT CommandLine,ExecutablePath 
                       FROM Win32_Process WHERE ProcessId=" + p.Id.ToString()))
        {
            using (ManagementObjectCollection moc = mos.Get())
            {
                foreach (ManagementObject mo in moc)
                {
                    MessageBox.Show((string)mo["CommandLine"]);
                    return;
                }
            }
        }
    }
}

此操作适用于Windows XP及更高版本,但在Windows 2000上失败,出现“无效查询”错误,Windows 2000及更高版本支持Win32_进程对象,因此我不确定我做错了什么。任何帮助都将不胜感激。

对不起大家。我刚刚意识到“命令行”字段仅在Windows XP及更高版本中存在。问题解决。

对不起大家。我刚刚意识到“命令行”字段仅在Windows XP及更高版本中存在。问题解决了