以编程方式检测Windows上是否启用了VT-x或AMD-v

在OSX或
Linux上,查看终端中的CPU功能是相当简单的.有没有办法在Windows上访问CPU信息,特别是硬件辅助虚拟化功能?

我只找到了微软的工具:
http://www.microsoft.com/en-us/download/details.aspx?id=592

但是想要一些不需要额外二进制文件的东西.

最佳答案 我认为检查虚拟化是否启用的最佳选择是使用WMI并检查Win32_Processor类.

如果启用了“VirtualizationFirmwareEnabled”字段的值,则应该为您提供.

我已经在我的机器上通过启用和禁用BIOS进行了测试,这个值看起来是正确的.

Win32_Processor:
http://msdn.microsoft.com/en-us/library/aa394373%28v=vs.85%29.aspx

为了检查支持的内容,我相信您需要使用信息类型为0x1和0x80000001的__cpuid()内部函数来查询CPU功能.可以在以下链接中找到示例.

CPUID Wiki:http://en.wikipedia.org/wiki/CPUID

__cpuid功能:msdn.microsoft.com/en-us/library/hskdteyh(VS.80).aspx

点赞