1 (изменено: solodrel, 2023-09-20 15:07:00)

Тема: AHK: изменение клавиши, которая нажимается в цикле, через GUI

Для полного удобства хочу изменять клавишу (переменная Key3), которая нажимается в цикле. Как я уже понял, мой вариант неправильный. Покурил чужой код и гайды, понял, что нужно реализовывать через Hotkey (или нет?). Но толково реализоваться у себя я не смог.
Если {Key3} заменить, к примеру, на {VK42} (клавиша B англ), то всё отлично работает, но тогда жёстко привязывает скрипт к какой-то одной клавише.

Добавлено: Почти разобрался. Вместо send {Key3} нужно было использовать SendInput, % Key3. НО, работает это только для клавиш из 1-го символа (1-9, a-z и прочее). F1-F12 так внести не получается.

Вот фрагмент кода GUI:

Gui, Tab, 3 ; Сундуки

			Gui, add, text,, Сундук на кнопке
			Gui, Add, Edit, w25 vKey3, 1

			Gui, add, text,, Пауза между прожатиями, мс
			Gui, Add, Edit, w40 vTime, 4000
			Gui, Add, Button, default, Применить
			Gui, Add, Button, y+10 gTest, Test
			Gui, Add, Button, x+10 gTest2, Test2
			Gui, Add, GroupBox, w275 h75 y+60,
			Gui, Add, Button, gLabel4 xp+10 yp+20 w40 h40, Старт
			Gui, Add, Button, gStop x+10 w40 h40, Стоп
			Gui, Add, Button, x+125 w40 h40, Выход

			Gui, Show

И вот фрагмент кода:

		{ ; сундуки по кнопке

			isRunning := false ; переменная

			Label4: ; цикл для переменной

				ifwinexist, Perfect World
					WinActivate
				sleep 1000

				if (isRunning) {
					isRunning := false
					return
								}
				isRunning := true
				GoSub Label5
			return

			Label5:
				Loop {
					if (!isRunning)
					break
					send {Key3} ; <-----------------------
					sleep Time
					}
			return
		}
Post's attachments

GUI.JPG
GUI.JPG 30.47 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: изменение клавиши, которая нажимается в цикле, через GUI

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