Обнаружение всех подключенных мониторов с использованием Windows API
Я использую Windows 7. Когда я подключаю новый монитор, когда компьютер работает, монитор автоматически не обнаруживается. Я должен перейти к экрану Display- > Screen Resolution и нажать кнопку Detect, чтобы обнаружить монитор с конфигурацией реестра.
Я ищу способ сделать то же самое программно, используя Windows API. Поэтому я хотел бы написать программу, которая обнаруживает все подключенные мониторы, воспроизводящие кнопку Detect. Я пробовал использовать ChangeDisplaySettingEx
, но с плохими результатами. Любые предложения?
Ответы
Ответ 1
Не решение API, но вы можете использовать утилиту MS DevCon в командной строке для сканирования нового оборудования.
https://support.microsoft.com/en-us/kb/311272
Загрузите его с этой страницы, а затем просто выполните это из окна cmd:
devcon.exe rescan
Вы можете легко создать файл .bat или .cmd для запуска этого из ссылки.
Ответ 2
Не действительно WinApi, но попробуйте эту утилиту:
C:\Windows\System32\DisplaySwitch.exe
DisplaySwitch.exe /internal - Switch to Primary only
DisplaySwitch.exe /external - Switch to Secondary only
DisplaySwitch.exe /clone - Clone desktop on both screens (Not HDCP compliant!)
DisplaySwitch.exe /extend - Extend desktop to both screens
В частности, try/extend switch, он должен выполнять обнаружение внутри.
Ответ 3
Вы должны прочитать this, если хотите узнать о приложениях с поддержкой отображения.