У меня есть рабочий скрипт AHK, который я использовал некоторое время.

Недавно я попытался добавить новую строку в этот скрипт, чтобы запустить функцию в Transparent Screen Lock ; а именно, чтобы заблокировать компьютер по комбинации горячих клавиш. Согласно документации программы:

Вы можете заблокировать экран с помощью скрипта, запустив эту программу с ключом "/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, #^! является эквивалентным модификатором комбинации клавиш Ctrl Win Alt , поэтому после сохранения и перезагрузки вышеуказанного скрипта нажатие этих клавиш должно запустить функцию блокировки в TSL-PRO. Вместо этого он ничего не делает. Горячие клавиши других программ работают как обычно.

Я также попытался запустить сценарий без параметра /s , но он по-прежнему ничего не делал, поэтому кажется, что виноваты модификаторы, хотя я не уверен, почему.

Что мне здесь не хватает?

1 ответ1

1

Символы, которые вы использовали, являются модификаторами горячих клавиш, а не клавишами. После того, как вы перечислите свои модификаторы, вам также нужно перечислить некоторые ключи.

Если вы хотите назначить Ctrl+Win+Alt в качестве горячей клавиши, вы должны изменить свой скрипт следующим образом:

#^Alt::
Run C:\Windows\SysWOW64\Transparent Screen Lock.exe /s
Return

Вы также можете переключить ^ на Ctrl или # на LWin или RWin .

Смотрите список возможных горячих клавиш здесь и список возможных модификаторов здесь.

редактировать

Как отметил Хашим в комментарии, приведенный выше скрипт требует, чтобы клавиша Alt была нажата последней. Чтобы решить эту проблему, вы можете поместить все варианты как горячие клавиши:

#!Ctrl::
!^LWin::
!^RWin::
#^Alt::
Run C:\Windows\SysWOW64\Transparent Screen Lock.exe /s
Return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .