C# WMI查询-使用在所有操作系统中都不可用的属性
Property Win32\u OperatingSystem\o体系结构在Windows 7上可用,但在Windows XP上不可用。我使用WMI代码生成器对此进行了检查。我应该如何更改下面的代码才能在Win XP和Win 7两种操作系统上工作C# WMI查询-使用在所有操作系统中都不可用的属性,c#,wmi-query,C#,Wmi Query,Property Win32\u OperatingSystem\o体系结构在Windows 7上可用,但在Windows XP上不可用。我使用WMI代码生成器对此进行了检查。我应该如何更改下面的代码才能在Win XP和Win 7两种操作系统上工作 ObjectQuery objectQuery = new ObjectQuery("SELECT OSArchitecture FROM Win32_OperatingSystem"); ManagementObjectSearcher searc
ObjectQuery objectQuery = new ObjectQuery("SELECT OSArchitecture FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(objectQuery);
if (searcher.Get().Count == 0) // this line throw exception on Windows XP
return null;
我知道我可以捕获异常,但我正在寻找更好的解决方案这对我来说很有效:
string strOSArchitecture = "";
ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(objectQuery);
ManagementObjectCollection results = searcher.Get();
foreach (ManagementObject result in results)
{
foreach (PropertyData property in result.Properties)
{
else if (property.Name.Equals("OSArchitecture"))
{
strOSArchitecture = result["OSArchitecture"].ToString();
}
}
}