Запустить скрипт, когда подключен второй монитор

8

В настоящее время у меня есть телевизор, подключенный к компьютеру через HDMI. Когда я установил вход телевизора на соответствующий порт HDMI, он становится видимым для компьютера, и компьютер добавляет его в качестве второго дисплея.

Я хотел запустить скрипт (для запуска XBMC), когда подключен дополнительный монитор.

ОС Windows 8.

Джордж Кендрос
источник
Похоже на то, что может сделать хук Windows API. Кроме этого, отображение по умолчанию плохо обрабатывается по умолчанию. Смотрите это для вдохновения.
Доктор Рейхард
Какая версия винды?
BillP3rd
это Windows 8.
Джордж Кендрос
это не будет простой сценарий, но это возможно. см. stackoverflow.com/questions/5981520/… или msdn.microsoft.com/en-us/library/windows/hardware/…
Колин Пикард
3
К сожалению, похоже, что при подключении монитора нет события Windows, что делает невозможным создание задачи планировщика. Поэтому это должна быть сторонняя программа, но я пока не нашел ее. Похоже, что единственным источником информации являются ресурсы программирования, что, к сожалению, как обычно, побуждает меня писать такую ​​программу. ¬_¬
Synetech

Ответы:

4

Вы можете сделать это в AutoHotKey или AutoIt. Они могут легко подключить WinApi, создать файл .ahk и запустить его с помощью AutoHotkeyU64.exe.

OnMessage(0x219, "MsgMonitor")
MsgMonitor(wParam, lParam, msg)
{
    if (wParam = 7) {
        Run, Notepad.exe
    } Else {
        MsgBox probably disconected. do something else
    }
    MsgBox check %wParam% and %lParam% and decide to run programs with %msg%
}
;wParam: 7 lParam: 0  monitor connected
;wParam: 32772 lParam: 8977536 should be on disconected

У меня нет никаких устройств HDMI, которые я могу проверить, но работает, когда я отсоединяю кабель DVI от основного монитора.

Евгений Пономар
источник