我有一个可以运行的 AHK 脚本,已经使用了一段时间。
我最近尝试在这个脚本中添加一个新行来运行一个函数透明屏幕锁定;即通过热键组合锁定 PC。根据程序的文档:
您可以通过使用“/s”开关执行此程序来通过脚本锁定屏幕:
"Transparent Screen Lock.exe /s"
。
我当前的 AHK 脚本如下所示:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
NumpadLeft::
Run C:\Program Files (x86)\Mozilla Firefox\firefox.exe
Return
NumpadUp::
Run C:\Program Files\Sublime Text 3\sublime_text.exe
Return
NumpadPgUp::
Run B:\Users\Me\AppData\Local\Wunderlist\Wunderlist.exe
Return
NumpadClear::
Run C:\Program Files\CyberGhost 6\CyberGhost.exe
Return
NumpadRight::
Run C:\Program Files\Adobe\Adobe Photoshop CS4 (64 Bit)\Photoshop.exe
Return
NumpadDown::
Run C:\Windows\System32\cmd.exe, B:\Users\Me\Desktop
Return
NumpadPgDn::
Run C:\cygwin64\bin\mintty.exe -, B:\Users\Me\Desktop
Return
#^!::
Run C:\Windows\SysWOW64\Transparent Screen Lock.exe /s
Return
根据AHK 文档,#^!
是键盘组合键的等效修饰键CtrlWinAlt,因此在保存并重新加载上述脚本后,按下这些键应该会运行 TSL-PRO 中的锁定功能。但实际上它什么也不做。其他程序热键的工作方式与以往一样。
我也尝试在没有参数的情况下运行脚本/s
,但它仍然没有任何反应,所以看起来修饰符可能是罪魁祸首,尽管我不确定为什么。
我在这里遗漏了什么?
答案1
您使用的符号是热键修饰符,而不是键。列出修饰符后,您还需要列出一些键。
如果您想将 ++ 指定Ctrl为热键Win,Alt您应该像这样更改脚本:
#^Alt::
Run C:\Windows\SysWOW64\Transparent Screen Lock.exe /s
Return
您还可以将 切换^
为Ctrl
或者#
将 切换为LWin
或者RWin
。
编辑
正如 Hashim 在评论中提到的,上述脚本要求最后按下 Alt 键。要解决此问题,您可以将所有变体设置为热键:
#!Ctrl::
!^LWin::
!^RWin::
#^Alt::
Run C:\Windows\SysWOW64\Transparent Screen Lock.exe /s
Return