使用 AutoHotkey 命令关闭显示屏后,显示屏又亮了

使用 AutoHotkey 命令关闭显示屏后,显示屏又亮了

我使用这两个快捷方式来关闭显示:

Launch_Mail::
#T:: SendMessage, 0x112, 0xF170, 2,, Program Manager

但是,使用此热键后,显示屏经常会立即重新打开。我再次按下该热键四到七次,显示屏又会重新打开。然后,我稍微调整一下鼠标,尝试关闭。有时可以,有时不行。

另外,如果我使用“Launch_Mail”按钮关闭显示,但没有成功,我会使用“#T”快捷键。大多数情况下,这个方法有效,但有时也不起作用。

是鼠标的问题还是其他问题?关闭显示器时是否也应该禁用鼠标?

我尝试搜索此问题,但找不到与我的情况类似的任何内容。

我不知道这是否很重要,但我使用 Windows 8.1 和 AHK v1.1.22.06

答案1

因为看起来您正在使用此处的脚本:https://autohotkey.com/docs/commands/PostMessage.htm提供以下代码:

#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

我不得不问:您使用的是完整的脚本,还是仅使用那一行,因为根据注释,-1 应该重新打开显示器,这表明您的脚本可能正在连续运行关闭和打开命令。

答案2

可能是热键释放导致显示屏再次打开。这可以通过“超时”来解决,如 David Metcalfe 的回答中所述,或者只需等待热键释放,然后关闭显示屏即可。惯用的方法是使用修饰符up(请参阅文档)。

Launch_Mail Up::
#T Up:: SendMessage, 0x112, 0xF170, 2,, Program Manager

答案3

这样,您将等待您的密钥被释放,只需替换您想要的密钥即可,这里我使用Alt+ Space

!Space::
    KeyWait Alt
    KeyWait Space
    SendMessage,0x112,0xF170,2,,Program Manager
Return

相关内容