使用mingw与WMI的MotherBoard信息

时间:2014-06-11 23:59:05

标签: 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接口的指针。

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

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:1)

我从注册表中获得了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提供这些库。