C++ WMI获取usb deviceID数据不全的问题 Win32_USBHub
生活随笔
收集整理的這篇文章主要介紹了
C++ WMI获取usb deviceID数据不全的问题 Win32_USBHub
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
微軟msdn舉得C++?例子,通過wmi獲取操作系統名稱Name,當然是一個數據。但是Win32_USBHub的deviceID就不只一個,比如鍵盤、鼠標、優盤等。如果按msdn的例子流程,只會輸出第一個數據,剩下數據則無法輸出。谷歌翻網頁翻的頭疼無解結果自己嘗試了下意外解決了方法如下:
1、箭頭1,所指next函數第三個參數,類型是IEnumWbemClassObject * m_pEnumClsObj,因為現在是一組數據所以將其改為數組IWbemClassObject* m_pWbemClsObj[20];
2、箭頭2,是數組的大小,此處根據上面定義是20;
3、GET函數前面也應改為數組輪訓獲得。
4、uReturn這個值,是實際獲取得數量,可以將其作為輪循標準。比如我自己電腦就是6個,所以6次get就可以了。
以上就是解決多個數據的關鍵,因為數據獲得比較長,建議可先排序,后放到一個string,然后md5加密,成32位長度。
總結
以上是生活随笔為你收集整理的C++ WMI获取usb deviceID数据不全的问题 Win32_USBHub的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ 截取\r\n问题
- 下一篇: sscanf fscanf函数格式化输入