掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
64bit環境 WMIでマザーボード、バイオスIDの取得方法 (ID:72225)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
64bit環境のPC上で、WMIでマザーボードとバイオスのIDを取得する必要があります。 32bit PCでは以下のコードで問題なく取得できたのですが、64bit環境では取得できませんでした。 (CPU IDなどは両環境で取得できました) 64bit環境でWMIを使用してマザーボードとバイオスのIDを取得する方法をご存知の方がいましたら、 教えていただけないでしょうか?WMI以外でも取得方法がありましたら教えていただきたいです。 よろしくお願いたします。 開発言語:C++ マザーボードID:Win32_BaseBoard (SerialNumber) バイオスID:Win32_BIOS (SerialNumber) IWbemLocator* pLoc = NULL; IWbemServices* pSvc = NULL; --中略-- //マザーボードID取得 IEnumWbemClassObject* pEnumerator = NULL; HRESULT hRes02 = pSvc->ExecQuery( bstr_t("WQL"), bstr_t("Select * from Win32_BaseBoard"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); if (SUCCEEDED(hRes02)) { IWbemClassObject *pclsObj = NULL; _bstr_t bstrCpuID; while (1) { ULONG uReturn; HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); if(0 == uReturn) { break; } VARIANT vtProp; VariantInit(&vtProp); hr = pclsObj->Get(L"SerialNumber", 0, &vtProp, 0, 0); if(vtProp.vt == 1) { break; } bstrCpuID = vtProp; char* p = bstrCpuID; strMbId = CString(p); //取得 break; } if(pclsObj) pclsObj->Release(); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.