Führen Sie ein Skript aus, wenn der zweite Monitor angeschlossen ist

8

Ich habe derzeit einen Fernseher über HDMI an meinen Computer angeschlossen. Wenn ich den Eingang des Fernsehgeräts auf den entsprechenden HDMI-Anschluss stelle, wird er für den Computer sichtbar und der Computer fügt ihn als zweite Anzeige hinzu.

Ich wollte ein Skript ausführen (um XBMC zu starten), wenn der sekundäre Monitor angeschlossen ist.

Betriebssystem ist Windows 8.

George Kendros
quelle
Sieht für mich so aus, als könnte ein Windows-API-Hook etwas tun. Abgesehen davon wird das Anzeigenmaterial standardmäßig nicht gut gehandhabt. Sehen Sie dies als Inspiration.
Doktoro Reichard
Welche Version von Windows?
BillP3rd
Es ist Windows 8.
George Kendros
Es wird kein einfaches Skript sein, aber es ist möglich. siehe stackoverflow.com/questions/5981520/… oder msdn.microsoft.com/en-us/library/windows/hardware/…
Colin Pickard
3
Leider sieht es so aus, als ob es wahrscheinlich kein Windows-Ereignis auf der Monitorverbindung gibt , was es unmöglich macht, eine Scheduler-Aufgabe zu erstellen. Daher müsste es sich um ein Drittanbieterprogramm handeln, aber ich muss noch eines finden. Die einzigen Hinweise scheinen Programmierressourcen zu sein, was mich leider wie üblich dazu verleitet, ein solches Programm zu schreiben. ¬_¬
Synetech

Antworten:

4

Sie können dies in AutoHotKey oder AutoIt tun. Sie können WinApi ganz einfach einbinden, eine .ahk-Datei erstellen und mit AutoHotkeyU64.exe ausführen

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

Ich habe keine HDMI-Geräte, die ich testen kann, aber es funktioniert, wenn ich mein DVI-Kabel vom Hauptmonitor trenne.

Yevhenii Ponomar
quelle