1

Тема: AHK: Нажатие клавиш-стрелок в окне GUI

Такой простой пример. Создаем окно GUI. Создаем 2 хоткея для этого окна. Один работает, другой нет. Другой это клавиша UP (стрелка вверх). В чем проблема?

gui add, text,, GUI WINDOW
gui show,, Gui

#IfWinActive Gui
VK26:: ; UP Key
    MsgBox UP
Return

VK7B:: ; F12 Key
    MsgBox F12
Return

GuiClose:
exitapp

2

Re: AHK: Нажатие клавиш-стрелок в окне GUI

Да, интересно.. Тут нашёл небольшое описание почему: VK21 and VK22 do not work with keyboard hook on. Можно чуть обмануть:

gui add, text,, GUI WINDOW
gui show,, Gui


VK26:: ; UP Key
    IfWinNotActive, Gui
        Return
    MsgBox UP
Return
#IfWinActive Gui
VK7B:: ; F12 Key
    MsgBox F12
Return

GuiClose:
exitapp

3

Re: AHK: Нажатие клавиш-стрелок в окне GUI

А зачем вообще эти клавиши задавать виртуальными кодами, для путаницы? Вот так всё работает:

gui add, text,, GUI WINDOW
gui show,, Gui

#IfWinActive Gui
UP:: ; UP Key
    MsgBox UP
Return

F12:: ; F12 Key
    MsgBox F12
Return

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

4

Re: AHK: Нажатие клавиш-стрелок в окне GUI

ayosh, этот вариант я рассматривал, но он для меня не подходил.
teadrinker, первым делом я так и делал, только не пойму в чем дело, у меня не работало, видимо я просто забыл пересохранить скрипт перед запуском.

5

Re: AHK: Нажатие клавиш-стрелок в окне GUI

OFF: А зачем сохранять скрипт перед запуском? Можно просто считывать текст из окна редактора, создавать временный файл и запускать его, потом удалять.

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

6

Re: AHK: Нажатие клавиш-стрелок в окне GUI

OFF: Пользуюсь scite. Отредактировал, сохранил, перезапустил на F5. Привычка. Кому как удобнее.

7

Re: AHK: Нажатие клавиш-стрелок в окне GUI

OFF: Часто нужно проверить небольшой кусочек кода. И что, каждый раз сохранять нужно? Тоже пользуюсь SciTE.

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

8

Re: AHK: Нажатие клавиш-стрелок в окне GUI

OFF: В начале нужного куска ставлю хоткей, например #b::, в конце куска return. Согласен менее удобно, но для меня более привычно.