Executar um script quando o segundo monitor estiver conectado

8

Atualmente, tenho uma TV conectada ao meu computador via HDMI. Quando defino a entrada da TV na porta HDMI apropriada, ela fica visível para o computador e o computador a adiciona como um segundo monitor.

O que eu queria fazer era executar um script (para iniciar o XBMC) quando o monitor secundário estiver conectado.

O sistema operacional é o Windows 8.

George Kendros
fonte
Parece-me algo que um gancho da API do Windows poderia fazer. Fora isso, o material de exibição não é bem tratado por padrão. Veja isso para inspiração.
Doktoro Reichard
Qual versão do Windows?
precisa saber é o seguinte
é o Windows 8.
George Kendros
não será um script simples, mas é possível. veja stackoverflow.com/questions/5981520/... ou msdn.microsoft.com/en-us/library/windows/hardware/...
Colin Pickard
3
Infelizmente, parece que provavelmente não há evento do Windows na conexão do monitor, o que impossibilita a criação de uma tarefa do agendador. Portanto, teria que ser um programa de terceiros, mas ainda tenho que encontrar um. Os únicos leads parecem ser recursos de programação, que infelizmente, como sempre, me tentam escrever um programa desse tipo. ¬_¬
Synetech

Respostas:

4

Você pode fazer isso no AutoHotKey ou AutoIt. Eles podem conectar o WinApi, muito fácil, criar um arquivo .ahk e executá-lo com o 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

Não tenho dispositivos HDMI, posso testá-lo, mas funciona quando estou desconectando meu cabo DVI do monitor principal.

Yevhenii Ponomar
fonte