"Invalid class" 为 Win32_OperatingSystem 创建新对象时出错 class
"Invalid class" error when creating new object for Win32_OperatingSystem class
我目前正在编写一些需要从 Win32_OperatingSystem class 获取一些属性的代码,并且有一些代码如下所示:
var managmentObject = new System.Management.ManagementObject("Win32_OperatingSystem.Name='TotalVirtualMemorySize'");
var memory = (ulong) managmentObject["TotalVirtualMemorySize"]*1024ul;
此代码与 this answer 中提供的示例大致相同,但当我 运行它。有什么想法吗?
使用"Win32_OperatingSystem=@"
获取Win32_OperatingSystemclass的当前实例。 @
表示一个对象是单例的,这在 "Remarks" 部分的 MSDN 文档底部提到。
有关 WMI 中路径的信息,请阅读 Describing an Instance Object Path。
正如 Yoh Deadfall 所说并提到的 here,Win32_OperatingSystem
是 singleton class
。要获取单个实例,请使用“@”作为键。
var managmentObject = new ManagementObject("Win32_OperatingSystem=@");
var memory = (ulong)managmentObject["TotalVirtualMemorySize"] * 1024ul;
我目前正在编写一些需要从 Win32_OperatingSystem class 获取一些属性的代码,并且有一些代码如下所示:
var managmentObject = new System.Management.ManagementObject("Win32_OperatingSystem.Name='TotalVirtualMemorySize'");
var memory = (ulong) managmentObject["TotalVirtualMemorySize"]*1024ul;
此代码与 this answer 中提供的示例大致相同,但当我 运行它。有什么想法吗?
使用"Win32_OperatingSystem=@"
获取Win32_OperatingSystemclass的当前实例。 @
表示一个对象是单例的,这在 "Remarks" 部分的 MSDN 文档底部提到。
有关 WMI 中路径的信息,请阅读 Describing an Instance Object Path。
正如 Yoh Deadfall 所说并提到的 here,Win32_OperatingSystem
是 singleton class
。要获取单个实例,请使用“@”作为键。
var managmentObject = new ManagementObject("Win32_OperatingSystem=@");
var memory = (ulong)managmentObject["TotalVirtualMemorySize"] * 1024ul;