您好,我正在使用 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 上,当它到达获取这个时它崩溃并且不发送。
有什么建议吗?