對於我當前的C++項目,我需要爲大量計算機上連接並激活的每個監視器檢測唯一的字符串。EnumDisplayDevices與WMI Win32_DesktopMonitor,如何檢測活動監視器?
有研究指出,2個選項
使用WMI和查詢Win32_DesktopMonitor所有活動監視器。使用PNPDeviceID進行顯示器的唯一標識。
使用EnumDisplayDevices API,並挖掘以獲取設備ID。
我很感興趣,因爲使用顯示器默認的即插即用驅動程序會報告一個通用的字符串作爲顯示器命名爲「默認即插即用監視器」
我用獨特的模型識別的設備ID一直在遇到WMI方法的問題,它似乎只在我的Vista機器上返回1臺顯示器,看着doco,結果表明它在非WDDM設備上無法正常工作。
EnumDisplayDevices在從後臺服務運行時(特別是在Vista上)似乎有點問題,如果它在會話0中,它將不返回任何信息。
任何人都有做類似的事情(找到所有連接的有源監聽音箱獨特的模式字符串?)
哪種方法最有效?
我試着實現您的代碼。我得到一個錯誤`標識符DeviceID是未定義的`我試圖在MSDN上搜索適當的包括但是我找不到任何單獨的DeviceID參數。你能告訴我什麼頭文件,我包括DeviceID來識別。 – newbie2015 2015-10-01 09:58:23