我需要在WMI中查询我知道是单例的对象(只有一个实例)。我曾经通过一个循环做到这一点,但它看起来并不好:
var searcher = new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftTpm",
"SELECT * FROM Win32_Tpm", null);
foreach (ManagementObject classInstance in searcher.Get())
{
// use classInstance here
break;
}
如何做得更好?
答案 0 :(得分:1)
WMI查询中有一个特殊的@运算符来提取单例。它可以像这样使用:
ManagementObject classInstance = new ManagementObject("root\\CIMV2\\Security\\MicrosoftTpm:Win32_Tpm=@");