Я хочу написать WMI
приложение, использующее Windows API и COM-библиотеку в Qt
.
Я включаю <qt_windows.h>
для доступа к Windows API
, я пробовал это раньше в VisualStudio .
Но когда я включаю Wbemidl.h
для объявления переменной IWbemLocator
, компилятор дает мне следующее error
:
error: Wbemidl.h: No such file or directory
Это часть моего code
:
HRESULT hResult = S_OK; // Result of initializing com library
BOOL bIsComLibUninit = FALSE; // A flag that determine if com library is loaded
// Initialize COM library
hResult = CoInitializeEx(0, COINIT_MULTITHREADED);
// If a previous call of CoInitializeEx occured in this thread
if(hResult == RPC_E_CHANGED_MODE)
{
OleUninitialize();
bIsComLibUninit = TRUE;
}
else if(hResult == S_OK)
{
bIsComLibUninit = TRUE;
}
// If COM library uninitialized
if(bIsComLibUninit == TRUE)
{
// Initialize COM library
hResult = CoInitializeEx(0, COINIT_MULTITHREADED);
if(hResult == S_OK)
{
// Initialize security
hResult = CoInitializeSecurity(NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_DEFAULT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL, EOAC_NONE, NULL);
if(hResult == S_OK)
{
IWbemLocator *pLoc = NULL;
CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER,
IID_IWbemLocator, (LPVOID *) &pLoc);
// Do stuffs
}
}
// Uninitialize COM library
CoUninitialize();
}