Как вы можете получить фактический MonitorID для изменения настроек дисплея - PullRequest
1 голос
/ 06 марта 2019

У меня возникли проблемы при попытке получить правильный / истинный идентификатор монитора.Все, что происходит в Интернете, - это получение имени устройства из объекта Screen или получение информации о мониторе через DISPLAY_DEVICE.У меня есть код, который может сделать мониторы первичными или нет, проблема в получении правильного и истинного идентификатора монитора.Очевидно, Windows изменяет идентификатор монитора, означая, что ваш «Display1» может быть 0,1,2 и т. Д. Когда я проверял это, я нашел следующее:

Локальный ноутбук разработчика: «Display1» был идентификатором 0«Display4» (внешний монитор) был идентификатором 3. Я не понимаю, почему это было «display 4», если у меня был только ноутбук и внешний монитор.Я бы подумал, что это будет «Дисплей 2».

На процессоре (на 3 из которых я его тестировал), который имеет подключения VGA и HDMI, «Display1» был Ian D = 1.

на другом процессоре «Display1» больше не был идентификатором 1, но это был совершенно другой идентификатор.

Когда я захожу в настройки дисплея и нажимаю «Определить», отображаются 1 и 2.

Я подумал, что, возможно, схватил имя устройства и подставил его, чтобы получить число и сделать -1, чтобы получить истинный идентификатор, но это работает только на моем ноутбуке разработчика.

Есть ли какой-нибудь способ получить правильные мониторы/ истинный идентификатор?

...