Тема: AHK: Активировать скрипт только когда определенное окно активно
В общем, нужно чтобы скрипт был активен только когда запущенно определенное приложение и это приложение в данный момент было активным окном.
Возьмем, к примеру, данный скрипт:
SetTimer, Au, 10
Au:
{
GetKeyState, ShiftState, Shift
if ShiftState = U
{
Send {vk51 down}
sleep, 50
Send {vk51 up}
sleep, 1950
}
}
Return
End::Pause
Вот информация про приложение, в котором должен работать данный скрипт:
Мне нужно, чтобы если процесс bf3.exe не запущенн или окно Battlefield 3™ неактивно, скрипт сразу останавливался(Пауза) и только если процесс bf3.exe запущенн и окно Battlefield 3™ активно скрипт активировался(выходил из паузы) и начинал зацикливание действий, которые и есть в моем скрипте.
Ну вот как-то так.
Я пробовал сделать по простому:
#IfWinActive ,Battlefield 3™,
SetTitleMatchMode, 2
Но данный скрипт работает тупо постоянно.
А, допустим, скрипт:
#IfWinActive ,Battlefield 3™,
SetTitleMatchMode, 2
LButton::RButton
Вобще отказывается работать. Скорее всего, из-за значка ™
А вот скрипт
#IfWinActive ,Battlefield 3,
SetTitleMatchMode, 2
LButton::RButton
будет работать как в нужном мне процессе, так и в браузере(мой компьютер), где в адресной строке будет Battlefield 3.
Если делать так:
#IfWinActive ahk_class Battlefield 3™
SetTitleMatchMode, 2
LButton::RButton
и так:
#IfWinActive ahk_class Battlefield 3
SetTitleMatchMode, 2
LButton::RButton
То тоже отказывается работать. Т.к. ahk_class вроде как требует, чтобы полностью совпадал ahk_class. Но когда он совпадает(Battlefield 3™) то мне кажется, что опять же из-за значка ™ оно не хочет работать...
Подскажите, пожалуйста, как мне справиться со значком ™ и нормально заставить работать мои скрипты в конкретном приложении.