La pantalla se enciende después de que la apago con el comando AutoHotkey

La pantalla se enciende después de que la apago con el comando AutoHotkey

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 upmodificador (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

información relacionada