在网上(包括 MSDN)搜索了几天使用 C++ 获取硬件唯一 ID 的方法后,我发现我需要使用 WMI。其实我也可以找到一些很好的例子,比如 this一。问题是:我无法使用 MinGW 编译它,但是它在使用 Microsoft 编译器的 Visual Studio 上运行得很好,但是使用 MinGW(我的应用程序是用它编译的)它给了我很多错误。 这听起来可能是一个老问题,但不幸的是,经过几天的网络搜索,我至今找不到解决方案。我在 Windows 7 上使用 MinGW。
最佳答案
MinGW 不支持 WMI。在 MinGW64 中有一些努力,但仍然不能称为完整(例如,缺少 wbemuuid.lib)。
一些项目通过使用 Microsoft WMI SDK 或 MinGW64 中缺少的 WMI 库扩展 MinGW 来解决此问题(有关示例,请参见 this project 或 this thread)。
为您的具体任务获取设备 UID 的另一种解决方案可能是使用 MinGW 很好支持的 Windows Setup API。可以找到使用它的一个很好的例子 on CodeProject site .
关于c++ - 如何使用 MinGW 调用 WMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996935/