
Utilizo estos dos atajos para apagar la pantalla:
Launch_Mail::
#T:: SendMessage, 0x112, 0xF170, 2,, Program Manager
Sin embargo, no es infrecuente que la pantalla se vuelva a encender instantáneamente después de usar esta tecla de acceso rápido. Lo presiono nuevamente de cuatro a siete veces y se vuelve a encender. Luego, ajusto un poco el mouse e intento apagarlo. A veces funciona y otras no.
Además, si uso el botón 'Launch_Mail' para apagar la pantalla y no lo hace, uso el acceso directo '#T'. La mayoría de las veces esto funciona, pero también hay ocasiones en las que tampoco funciona.
¿El problema es del mouse o de otra cosa? ¿Debo desactivar también el mouse al momento de apagar la pantalla?
Intenté buscar este problema, pero no pude encontrar nada similar a mi situación.
No sé si esto es muy relevante, pero uso Windows 8.1 y AHK v1.1.22.06.
Respuesta1
Ya que parece que estás usando el script de aquí:https://autohotkey.com/docs/commands/PostMessage.htmque proporciona el siguiente código:
#o:: ; Win+O hotkey that turns off the monitor.
Sleep 1000 ; Give user a chance to release keys (in case their release would wake up the monitor again).
; Turn Monitor Off:
SendMessage, 0x112, 0xF170, 2,, Program Manager ; 0x112 is WM_SYSCOMMAND, 0xF170 is SC_MONITORPOWER.
; Note for the above: Use -1 in place of 2 to turn the monitor on.
; Use 1 in place of 2 to activate the monitor's low-power mode.
return
Tengo que preguntar: ¿está utilizando el script completo, o solo esa línea, porque según los comentarios, -1 debería volver a encender el monitor, lo que sugiere que su script podría estar ejecutando los comandos de encendido y apagado uno tras otro?
Respuesta2
Probablemente sea al soltar las teclas de acceso rápido lo que vuelve a encender la pantalla. Esto se puede resolver mediante un "tiempo de espera", como en la respuesta de David Metcalfe, o simplemente esperando hasta que se suelte la tecla de acceso rápido y solo entonces apagando la pantalla. La forma idiomática de hacer esto es usar el up
modificador (consulte ladocumentación).
Launch_Mail Up::
#T Up:: SendMessage, 0x112, 0xF170, 2,, Program Manager
Respuesta3
Con esto, esperará a que se liberen sus claves, simplemente reemplácelas por las claves que desee, aquí estoy usando Alt+ Space:
!Space::
KeyWait Alt
KeyWait Space
SendMessage,0x112,0xF170,2,,Program Manager
Return