我想写一篇
WMI
在中使用WindowsAPI和COM库的应用程序
Qt
我包括
<qt_windows.h>
访问windows
API
,我以前试过这个
Visual Studio
.
但是当我包括
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();
}