c++ - 带有WMI的主板信息,使用mingw

标签 c++ c mingw wmi motherboard

我正在使用 mingw 作为编译器,我试图让 wmi 以某种方式工作,但代码取决于

wbemidl.h
Wbemuuid.lib

我怎样才能避免使用这个库?例如

hr = CoCreateInstance(&CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, &IID_IWbemLocator, (LPVOID *) &locator);

我如何自己获取 CLSID_WbemLocator 和 IID_IWbemLocator?我还需要以某种方式为自己定义指向 COM 接口(interface)的指针。

  IWbemLocator         *locator  = NULL;
  IWbemServices        *services = NULL;
  IEnumWbemClassObject *results  = NULL;

谁能帮帮我?

最佳答案

我从注册表中找到了 CLSID_WbemLocator,它位于 WBEMComLocator 下。由于我的应用程序是用 C 编写的,因此我初始化了 GUID 结构:

CLSID CLSID_WbemLocator = {0x4590F811, 0x1D3A, 0x11D0, {0x89, 0x1F, 0, 0xAA, 0, 0x4B, 0x2E, 0x24}};

解决了这个问题后,我可以运行 How to obtain data from WMI using a C Application? 下给出的示例我认为您必须使用您提到的库。为什么不? MinGW 提供了这些库。

关于c++ - 带有WMI的主板信息,使用mingw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174508/

相关文章:

c++ - 将数据字符串标记为结构 vector ?

c - 为什么这个函数在无限循环中运行?

c - Linux 串行端口 (tty) 重定向

c++ - 在 Mingw32 中编译 SystemC 库

c++ - 相同的 C 源代码,不同的输出

C++ 列表函数返回列表

c++ - 我可以根据私有(private)/ protected 成员分配类枚举吗?

c++ - 二值图像数据上的 CImg

c - 我想在notepad++中编译c代码,但无法设置nppexec

c - 为什么 Windows 上的 MinGW 不需要静态链接?