虚拟机上的CPU标识
问题描述:
我使用以下c#代码来获取处理器信息。如果我在虚拟机上运行我的应用程序,Management类为null。我使用的Oracle VM VirtualBox作为我的虚拟PC(Windows XP中SP3)虚拟机上的CPU标识
System.Management.ManagementClass Management = new System.Management.ManagementClass("Win32_Processor");
有没有人有关于使用这种代码的经验,在虚拟机的问题。
答
你使用的是GetInstances
吗?
System.Management.ManagementClass ManagementClass1 = new System.Management.ManagementClass("Win32_Processor"); System.Management.ManagementObjectCollection ManagementObjectCollection1 = ManagementClass1.GetInstances(); foreach (System.Management.ManagementObject managementobject in ManagementObjectCollection1) { Console.Out.WriteLine(managementobject.Properties["Name"].Value); } Console.In.ReadLine();
那是不可能的,*新*运算符从不返回null。你的问题也必须是虚拟的。 – 2011-06-10 07:08:57
是的汉斯,你是对的。 ManagementClass实例不为null。管理[“ProcessorId”]为空。 – Demir 2011-06-15 14:36:22