我只是想知道如何在C++中获取BIO信息。我尝试了以下选项,但每个选项都有其缺点。
- 从注册表:但我发现某些系统缺少HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS,可能是虚拟机。
- 使用 WMI:但 WMI 不必在所有系统上运行,因为在某些情况下,要么服务被禁用,要么 WMI 对象丢失!!
我需要一个永久的解决方案,为我提供 C++ 中的 BIO 信息。
最佳答案
尝试检测您是否处于虚拟操作系统中的方法有多种,具体取决于所使用的虚拟化软件。
stackoverflow 上已经有很多关于此问题的不同问题。
以下是一些文章(排名不分先后),它们涵盖了所使用的各种不同的虚拟化部分:
Detect virtualized OS from an application?
detect if application running on virtual box
64-bit windows VMware detection
How to identify that you're running under a VM?
http://www.codeproject.com/Articles/9823/Detect-if-your-program-is-running-inside-a-Virtual
关于c++ - C++中的BIOS信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17545159/