NektoN95
Начну с конца... так проще
P.S. teadrinker, вопрос ведь по-сути технический, и к играм имеет весьма косвенное отношение...
teadrinker тут не причём, вопрос к админу, а не к модератору - читай почту, я там всё пояснил, только не дал линк на ветку где задать твой вопрос... мне данная ситуация не нравится, а мотивация не понятна, но teadrinker тут не причём и ответ он не даст.
Техническая часть Вот скрипт который решит твою проблему
;Инициализация, сначала должна быть запущена игра, а потом скрипт
;Возможно запустить из скрипта сам игру, но этот фрагмет отсутствует, т.к. он большой
#Persistent ;Скрипт не выгружается
#SingleInstance ;Запрет повторного запуска
OnExit, lEndGame ;Точка завершения скрипта
SetTitleMatchMode, 1 ;Заголовок окна должен начинаться со значения, заданного в vWinName
vWinName := "название игры - первое слово"
cActiveGame := 1000 * 5 ; Частота работы таймера для проверки в секундах - приблизительно не менее 3 и не более 7
SetTimer lTimerActive, %cActiveGame%
Return
lEndGame:
ExitApp
lTimerActive:
If (!WinExist(vWinName))
Gosub lEndGame ; Игры нет - выгружаем скрипт
Return
#UseHook, On
;Блок работает пока игра активна
;При сворацивании окна игры колёсико будет работать как ему положено
#If WinActive(vWinName)
;****************************************
WheelUp::
Return
WheelDown::
Return
;****************************************
#UseHook, Off
#IfWinActive
Скрипт написан по принципу "От общего к частному", т.е. его легко расширить/дополнить, а так же убрать не нужное, например таймер проверки существования окна игры
В этом скрипте таймер делает только одну вещь, а у меня в аналогичной ситуации - множество, около 8-ми проверок и подключает/отключает WheelUp/WheelDown по таймеру используя команду HotKey на основе данных из ini-файла.
Ну, а блок
#If WinActive(vWinName)
//.....
#IfWinActive
вообще отсутствует - клавиши задаются динамически.
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 10 x64 Pro(AutoHotkey v1.1.37.02)