是否可以使用C#检查是否启用了硬件虚拟化?找不到答案,所以我想我在问自己。使用C#,如何检查CPU是否启用了硬件虚拟化?例如,Hyper-V。它不在Win32_Processor类中,我在尝试连接到MSVM_ComputerSystem时完全失败了。一直告诉我有一个无效的命名空间。代码如下所示。ManagementObjectSearchervm=newManagementObjectSearcher(@"\.rootvirtualization","select*fromMSVM_Computersystem");ManagementObjectCollectionvmCollection=vm.Get();foreach(ManagementObjectmoinvmCollection){cpuVirtual=mo["EnabledState"].ToString();如果您枚举Win32_Processor类中的所有属性,您将看到一个名为“VirtualizationFirmwareEnabled”的属性,我认为您正在谈论它。正如您在此链接中看到的,为了检查某些机器处理器是否可以在Hyper-V上运行,它们将VirtualizationFirmwareEnabled与其他属性结合使用:我编写了这个简单的剪辑来迭代所有win32_processor类值:ManagementClassmanagClass=newManagementClass("win32_处理器");ManagementObjectCollectionmanagCollec=managClass.GetInstances();foreach(ManagementObjectmanagObjinmanagCollec){foreach(varpropinmanagObj.Properties){Console.WriteLine("PropertyName:{0}Value:{1}",prop.Name,prop.Value);}}Console.ReadKey();仅供参考,“root/virtualization”命名空间不再存在,从Windows/Hyper-VServer2012R2(可能还有Windows8.1)开始。此外,这可能是因为您编写了“rootvirtualization”(尝试正斜杠)。无论如何你应该使用“root/virtualization/v2”。以上是C#学习教程:是否可以用C#查看硬件虚拟化是否开启?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
