EnumDisplayMonitors
列出當前激活的所有顯示器。但是,它似乎並沒有返回禁用的功能(即「將我的桌面擴展到此監視器上」的功能取消選中)。我如何獲得包括那些殘疾人的人數?windows:獲取顯示器數量,包括禁用顯示器數量
回答
好了,首先你要創建一個設備上下文:
http://msdn.microsoft.com/en-us/library/dd183490(v=VS.85).aspx下面的代碼會給你所有的顯示器:
CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)
然後你會召喚DeviceContext的EnumDisplayDevices這將有一個指針轉換爲DISPLAY_DEVICE結構,其中包含有關顯示設備的設置的信息。 http://msdn.microsoft.com/en-us/library/dd162609(v=VS.85).aspx
每MSDN:
要查詢所有顯示設備在當前會話中,調用這個函數在一個循環中,從iDevNum設置爲0,並增加iDevNum直至功能失效。要選擇桌面中的所有顯示設備,請僅使用DISPLAY_DEVICE結構中具有DISPLAY_DEVICE_ATTACHED_TO_DESKTOP標誌的顯示設備。
要獲取有關顯示適配器的信息,請將lpDevice設置爲NULL的方式調用EnumDisplayDevices。例如,DISPLAY_DEVICE.DeviceString包含適配器名稱。
要獲得顯示監視器上的信息,首先調用EnumDisplayDevices並將lpDevice設置爲NULL。然後調用EnumDisplayDevices,將lpDevice從第一次調用EnumDisplayDevices設置爲DISPLAY_DEVICE.DeviceName,並將iDevNum設置爲零。然後DISPLAY_DEVICE.DeviceString是監視器名稱。
要查詢與適配器關聯的所有監視設備,請在lpDevice設置爲適配器名稱的情況下調用EnumDisplayDevices,將iDevNum設置爲從0開始,並將iDevNum設置爲遞增,直到函數失敗。請注意DISPLAY_DEVICE.DeviceName隨監視器信息的每次調用而變化,因此您必須保存適配器名稱。當適配器沒有更多監視器時,該功能失敗。
我不是C++程序員,但是我不得不在一天中編寫一些顯示方式的東西,而我只是試圖幫助我記憶中的那一點。 WINAPI上我有點生疏。
如果他們幫助您解決您的問題,請將我的帖子標記爲「已回覆」! :) 謝謝! – bleepzter 2011-01-28 18:42:21
你檢查了顯示器的顯示功能嗎?
我很確定MONITORINFO結構的MONITORINFOF_PRIMARY標誌指定哪個監視器是主監視器。任何具有MONITORINFO或MONITORINFOEX結構的監視器都是「有用的」監視器。
http://msdn.microsoft.com/en-us/library/dd145065(v=VS.85).aspx
至於顯示器也可這是什麼鏈接,您可以檢查這些:
獲取監控信息:http://msdn.microsoft.com/en-us/library/dd144942(v=VS.85).aspx
枚舉顯示設備:http://msdn.microsoft.com/en-us/library/dd162609(VS.85).aspx
顯示設備結構:http://msdn.microsoft.com/en-us/library/dd183569(v=VS.85).aspx
顯示設備結構有一個「DISPLAY_DEVICE_ACTIVE」標誌,表示設備是否處於活動狀態。
看起來你不能在EnumDisplayMonitors中包含禁用的監視器,所以我在閱讀這個答案之後仍然不確定,你如何獲得包含顯示項目的列表,以及如何檢查返回的結構,活動標誌。我猜你在說EnumDisplayDevices應該包含非活動設備? – 2011-01-28 18:24:54
- 1. iCal解析器顯示事件數量
- 2. 顯示數據的數量
- 3. 服務器端包括沒有顯示
- 4. SQL顯示未讀消息的數量...包括未讀回覆
- 5. 調用setTemplate()後顯示獲取變量
- 6. 顯示計數器
- 7. 如何獲得雙顯示器是可用或獲得全寬度,包括雙顯示器在VB6
- 8. 以ng-repeat顯示數量
- 9. SQL查詢,顯示數量
- 10. 在PHP中顯示數量(*)
- 11. 使用AJAX顯示流量播放器
- 12. 如何獲取wpf數據網格中顯示行的數量
- 13. 如何在Windows中獲得用於特定顯示器的顯示適配器?
- 14. 獲取circleci環境變量以顯示在docker機器中
- 15. Gtk:獲取每個顯示器的可用區域(不包括面板)
- 16. 獲取行數並顯示
- 17. Jtwig獲取參數顯示
- 18. 使用EnumDisplayDevices獲取顯示器名稱
- 19. 獲取過濾器後顯示在地圖上的功能數量(帶功能)
- 20. 如何在Linux上獲取連接顯示器的數量到gpu?
- 21. Html.EditorFor顯示正確的項目數量,但不顯示數據
- 22. Javascript代碼隱藏顯示價格*數量來顯示總數
- 23. 如何從MySQL數據庫顯示每月(包括零)的記錄數量?
- 24. 無法從解析服務器獲取數據和顯示器
- 25. 用戶輸入確定顯示器的數量
- 26. SQL服務器顯示使用標量值函數
- 27. 只有顯示不包括?
- 28. 顯示矢量
- 29. 顯示最大租用數量列表
- 30. 顯示網頁上的用戶數量
你必須直接與視頻驅動程序交談。 IOCTL_VIDEO_ENUM_MONITOR_PDO,我想。記錄很差。 – 2011-01-28 18:41:19