您好我正在使用Visual C ++ 2010。
我正在尝试使用wmi提取硬件细节,一切正常但是当我在Windows 8.1中测试应用程序时,应用程序崩溃,结果是来自win32_physicalmedia代码。
以下是代码:
pSvc->ExecQuery(
bstr_t("WQL"),
bstr_t("SELECT SerialNumber FROM Win32_PhysicalMedia"),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator);
IWbemClassObject *pclsObjjj;
ULONG uReturnnn = 0;
while (pEnumerator)
{
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
&pclsObjjj, &uReturnnn);
if(0 == uReturnnn)
{
break;
}
VARIANT vtProp;
它在windows xp和7上运行正常,但在Windows 8.1到达时,它会崩溃并且不发送。
有什么建议吗?
答案 0 :(得分:0)
好的家伙,我想我得到了它。那是因为我没有添加“返回0;”最后!!!!!
在Windows xp和7上它运行正常,但如果它在Windows 8上运行则会崩溃..
这很奇怪我不知道为什么但问题仍然解决了xD