1

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

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

2 ответа2

2

Если заголовок вашего покерного приложения всегда оканчивается на - 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 в активное окно.

-1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .