1 (изменено: v413ry4nk4, 2021-07-23 16:42:54)

Тема: AHK: Постоянное ожидание ввода командой Input

Здравствуйте, дорогие форумчане. Пишу скрипт, который подразумевает постоянное ожидание ввода командой Input для дальнейшей обработки, но у меня получилось реализовать это только запуском горячей клавишей F1:

Process, Priority, , High

#NoEnv
#InstallKeybdHook

SetKeyDelay -1
SetBatchLines, -1

Thread, interrupt, 0

~^F12::ExitApp

F1::
	Input, short, L10 V , {sc39}
	MsgBox, Введено: %short%
Return

С циклом Loop не получилось:

Loop, 
{
	Input, short, L10 V , {sc39}
	MsgBox, Введено: %short%
}

Так же пытался создать таймер, реакции никакой:

SetTimer, forSwitch, 10

forSwitch:
	Input, short, L10 V , {sc39}
	MsgBox, Введено: %short%
Return

Разъясните, пожалуйста, что я упустил и делал не так.

2

Re: AHK: Постоянное ожидание ввода командой Input

v413ry4nk4 пишет:

С циклом Loop не получилось

А какого поведения вы ожидаете от этого кода?

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

3

Re: AHK: Постоянное ожидание ввода командой Input

teadrinker
Считывать весь мой ввод, после нажатия пробела выполнять MsgBox, после этого снова считывать ввод.

4

Re: AHK: Постоянное ожидание ввода командой Input

У вас написано L10 и {sc39} как завершающая клавиша. То-есть, код будет ждать либо 10 любых нажатий, либо нажатия {sc39}. Он, вроде, так и работает.

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

5 (изменено: v413ry4nk4, 2021-07-23 17:58:53)

Re: AHK: Постоянное ожидание ввода командой Input

teadrinker
Ну, только что проверил ещё раз, MsgBox не выводится.

6

Re: AHK: Постоянное ожидание ввода командой Input

А как именно проверяли?

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

7

Re: AHK: Постоянное ожидание ввода командой Input

teadrinker
Запустил скрипт с циклом, ввел 3 символа, нажал пробел, MsgBox не создался. При аналогичном скрипте через клавишу F1 срабатывает каждый раз, если перед вводом нажать F1, соответственно.

8

Re: AHK: Постоянное ожидание ввода командой Input

У меня работает:
 
 https://i.imgur.com/qUR258W.gif

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

9

Re: AHK: Постоянное ожидание ввода командой Input

teadrinker
Дело было в горячей клавише Ctrl+F12, стоящей перед самим циклом.
При таком коде MsgBox не выводился:

~^F12::ExitApp
Loop, 
{
	Input, short, V , {sc39}
	MsgBox, Введено: %short%
}

После помещения горячей клавиши после цикла всё заработало:

Loop, 
{
	Input, short, V , {sc39}
	MsgBox, Введено: %short%
}
~^F12::ExitApp

10

Re: AHK: Постоянное ожидание ввода командой Input

Читайте про секцию автовыполнения.

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