1 (изменено: r_vaddy, 2018-03-05 15:55:33)

Тема: AHK: Помогите сделать хук на коды клавиш из конкретной программы

Пожалуйста, помогите решить задачу!
Очень прошу не ругайтесь, - полный новичок. Дайте пример и пните в нужном направлении, что то сам  додумаю. Буду изучать АХК прямо по конкретной задаче.

Исходные данные:
Есть приложение il2.exe, которое масштабирует изображение исключительно по событиям MWHEEL forward, MWHEEL backward.
Требуется:
Сделать так, чтобы масштабирование происходило по нажатиями конкретных клавиш (WinApps и Key102). Но это должно происходить только, если активным является окно il2.exe
Т.е.  нужен AHK хук конкретные клавиши (при активной il2.exe), который перехватывал бы посланные  коды WinApps и Key102 и заменял их событиями колесика мыши

Буду признателен любой помощи!

2 (изменено: r_vaddy, 2018-03-05 16:05:06)

Re: AHK: Помогите сделать хук на коды клавиш из конкретной программы

OK.   Помощи пока нет...

Двигаюсь как слепой котёнок. Итак

if WinActive(hwnd il2.exe) 
	AppsKey:: Send {колесо вперед}
	Кнопка102:: Send {колесо назад}
return

Прошу помочь:
1. Как определить hwnd окна il2.exe если оно развернуто на полный экран, чтобы вписать его в скрипт?
2. Как в коде описать Кнопку102? Есть такая на non-US keyboards и код у неё есть.
3. Что в коде прописать вместо {колесо вперед} {колесо назад}?

3

Re: AHK: Помогите сделать хук на коды клавиш из конкретной программы

Привет!
Чтобы привязать сценарий к активности определённого окна, поместите до исполняемого кода:


#IfWinActive, ahk_exe il2.exe

Коды клавиш легко определить, воспользовавшись решением из этого обсуждения.

Читайте так же:
#IfWinActive, список кнопок, или поищите соответствующие переводы тут.

4

Re: AHK: Помогите сделать хук на коды клавиш из конкретной программы

KusochekDobra


Особое спасибо за это:

#IfWinActive, ahk_exe il2.exe

Без этой подсказки я бы  долго пытался понять как же скрипт "навечно прицепить" к окошку.  Как я ни пытался, он у меня только один раз срабатывал.


Теперь всё получилось! Всё остальное разыскал и заработало