Exécuter un script lorsqu'un deuxième moniteur est connecté

8

J'ai actuellement un téléviseur connecté à mon ordinateur via HDMI. Lorsque je règle l'entrée du téléviseur sur le port HDMI approprié, il devient visible pour l'ordinateur et l'ordinateur l'ajoute comme deuxième écran.

Ce que je voulais faire, c'est exécuter un script (pour lancer XBMC) lorsque le moniteur secondaire est connecté.

Le système d'exploitation est Windows 8.

George Kendros
la source
Il me semble que quelque chose qu'un hook API Windows pourrait faire. En dehors de cela, les éléments d'affichage ne sont pas bien gérés par défaut. Voir ceci pour l'inspiration.
Doktoro Reichard
Quelle version de Windows?
BillP3rd
c'est Windows 8.
George Kendros
ça ne va pas être un simple script mais c'est possible. voir stackoverflow.com/questions/5981520/… ou msdn.microsoft.com/en-us/library/windows/hardware/…
Colin Pickard
3
Malheureusement, il semble qu'il n'y ait probablement aucun événement Windows sur la connexion du moniteur, ce qui rend impossible la création d'une tâche de planificateur. Il faudrait donc qu'il s'agisse d'un programme tiers, mais je n'en ai pas encore trouvé. Les seules pistes semblent être des ressources de programmation, qui malheureusement, comme d'habitude, me tentent d'écrire un tel programme. ¬_¬
Synetech

Réponses:

4

Vous pouvez le faire dans AutoHotKey ou AutoIt. Ils peuvent accrocher WinApi, assez facilement, créer un fichier .ahk et l'exécuter avec 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

Je n'ai pas de périphériques HDMI, je peux le tester, mais fonctionne lorsque je déconnecte mon câble DVI du moniteur principal.

Yevhenii Ponomar
la source