Скрипт AHK для отправки горячих клавиш в определенное окно

Скрипт AHK для отправки горячих клавиш в определенное окно

Мне нужен скрипт ahk, который отправляет 3 разные горячие клавиши (например, нажатие f1, отправка f5 в активное окно определенного приложения (покера)), хотя f1 должна быть f1 для других приложений, работающих параллельно

кто может помочь?

решение1

Если заголовок вашего покерного приложения всегда заканчивается на - NLH, но вы не хотите соответствовать тем окнам, класс которых PokerStarsTableFrameClass, используйте следующее:

F1::
WinGetTitle, Title, A
WinGetClass, Class, A
if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
    SendPlay {F5}
else
    SendPlay {F1}
return

Как это работает

  • WinGet(Title|Class), (Title|Class), Aсчитывает заголовок|класс активного ( A) окна и сохраняет его в переменной Title|Class.

  • - NLH$эторегулярное выражениесоответствие всем строкам, которые заканчиваются на - NLH. ( $это конец строки)

  • if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))проверяет, соответствует ли регулярное выражение Title,ноотличается Classот исключения.

    • Если да, SendPlay {F5}то отправляет F5в активное окно.

    • В противном случае SendPlay {F1}отправляет нормаль F1в активное окно.

решение2

Вам не нужен скрипт AutoHotkey. Вам нужно научиться использовать доступный API (команды), чтобы добиться желаемого. Чтобы отправить ввод непосредственно в окно или его элементы управления, активные или нет, вы можете использоватьУправлениеОтправитькоманда.

Связанный контент