1 (изменено: ambietc, 2022-09-01 11:05:24)

Тема: AHK: При запуске скрипта по клав. сокращению, вызывается функция

Приветствую.
Как сделать, чтобы при нажатии сокращения, объявленные функции не вызывались сами собой?

#z::
Func() {
    MsgBox, 123.
}

Я же не вызываю её в коде:

#z::
Func() {
    MsgBox, 123.
}
Func()

2

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

#z::Return
Func() {
    MsgBox, 123.
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

3 (изменено: ambietc, 2022-09-01 11:16:14)

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

serzh82saratov
Выполнение скрипта тогда вообще останавливается.
Разве что сначала объявлять, а запуск располагать в самом низу, перед первым вызовом.

4

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

ambietc пишет:

Как сделать, чтобы при нажатии сокращения, объявленные функции не вызывались сами собой?

Не очень понятно, какого поведения вы ожидаете.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Clannad5, 2022-09-01 21:53:57)

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

ambietc

Любая начатая последовательность в AHK заканчивается, как правило, на команде "Return".
Следовательно, если вы хотите чтобы функция не вызывалась сама собой, то перед ней должна стоять команда "Return".
Поэтому любые функции желательно хранить либо в отдельном файле .ahk и прописывать #Include scriptname.ahk, либо в конце файла.

Пример:


F2::
Func()
return


Func()
{
Msgbox, hello world
}
return

Возможно я даже вас не так понял и вы хотите чего-то невозможного.
Func() - это вызвать функцию.
Func(){код} - это структура функции.

Если вы не хотите вызывать функцию, всё что вам нужно, это не вызывать её (логично).

ambietc пишет:

Я же не вызываю её в коде:


#z::
Func() {
    MsgBox, 123.
}
Func()

Как раз таки вы вызываете, прописывая "Func()".

6

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

Clannad5 пишет:

если вы хотите чтобы функция не вызывалась сама собой, то перед ней должна стоять команда "Return"

Это не верно. Она не сама собой вызывается, а по горячей клавише.

#z::
Func() {
    MsgBox, 123.
}

Это добавили не так давно, и это не очевидное поведение, ведь для вызова нужно Func().
А добавили чтобы запускалась следующая после ГК объявленная функция.

teadrinker пишет:

Не очень понятно, какого поведения вы ожидаете.

Я бы сказал, что теперь совсем ничего. Это ж надо так на паре строчек всех запутать.)

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.34.01 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

7 (изменено: Madmer, 2022-09-03 11:31:40)

Re: AHK: При запуске скрипта по клав. сокращению, вызывается функция

ambietc,


#z::
return

Func()
{
    MsgBox, 123.
return
}