2

我有一个 WPF 应用程序,我正在使用以下内容来获取我的 PC 的操作系统详细信息:

using (ManagementObjectSearcher win32OperatingSystem = new ManagementObjectSearcher("select * from Win32_OperatingSystem"))
{
     foreach (ManagementObject obj in win32OperatingSystem.Get())
     {
         _operatingSystem = obj["Caption"].ToString();
         _osArchitecture = obj["OSArchitecture"].ToString();
         break;
     }
}

当我踏入这一行时:

win32OperatingSystem.Get() 中的 ManagementObject obj

我得到以下异常:

无效的查询。

这里有什么问题??

4

2 回答 2

1

WMI 类有一个命名空间,您没有指定一个。使用WMI Code Creator让您的查询正确,它会为您生成 C# 代码,您可以直接从该工具运行它以检查结果。

于 2014-01-12T18:00:15.573 回答
0

我建议使用EnvironmentandOperatingSystem类(而不是ManagementObjectSearcher)的属性来获取这些详细信息。

string _operatingSystem = Environment.OSVersion.VersionString;
于 2014-01-12T17:56:13.833 回答