我有一个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
我得到以下异常:
无效查询。
这里有什么不对?
答案 0 :(得分:1)
WMI类有一个命名空间,你没有指定一个。使用WMI Code Creator来验证您的查询,它会为您生成C#代码,您可以直接从该工具运行它来检查结果。
答案 1 :(得分:0)
我建议使用Environment
和OperatingSystem
类(而不是ManagementObjectSearcher
)的属性来获取这些详细信息。
string _operatingSystem = Environment.OSVersion.VersionString;