Привет я имел обыкновение использовать в начале моего скрипта Autohotkey, чтобы полностью отключить его и полностью включить scrolllock:: Pause

но это больше не работает, и я понял, что если я его установлю, он не позволит мне установить переменные. например

scrolllock:: Pause
var := 29    ; <--- this var will not be set cuz the line above

Это будет установлено, только если я удалю строку выше, я проверил это.

Я пытался изменить это на ...

f12::
Pause
Suspend
return

но это не работает с клавишей прокрутки, я думаю, мне нужно установить состояние клавиши

Как я могу это сделать, спасибо Advanced.

2 ответа2

2

Этот код никогда не запустится

scrolllock:: Pause

var := 29 

F1:: MsgBox, %var%

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

Переменная должна быть определена в разделе автоматически исполняемого скрипта (верхняя часть скрипта, перед первым возвратом или горячей клавишей)

; top of the script:
var := 29
    return      ; end of auto-execute section

scrolllock:: Pause

F1:: MsgBox, %var%

или в горячей клавише

scrolllock:: Pause

F1:: 
var := 29
MsgBox, %var%
return 

или в функции.

0

AHK One-Liners

Просто поместите Pause в новую строку и добавьте оператор return .

scrolllock:: Pause ; <-- Quick One-liner Script
    var := 29      ; <-- Not executed

scrolllock:: ; <-- Full Script
    Pause
    var := 29
    return   ; <-- Explicit return statement needed

Если у вас есть код в первой строке, AHK предположит, что это быстрый однострочный текст, и добавит неявный возврат в конце. Поэтому var := 29 после того, как он не будет выполнен.

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