Potrzebuję skryptu ahk, który wysyła 3 różne klawisze skrótu (naciśnięcie klawisza f1, wysłanie f5 na przykład do aktywnego okna konkretnej aplikacji (pokera)) f1 musi być f1 dla innych aplikacji działających równolegle
kto może pomóc ?
źródło
Potrzebuję skryptu ahk, który wysyła 3 różne klawisze skrótu (naciśnięcie klawisza f1, wysłanie f5 na przykład do aktywnego okna konkretnej aplikacji (pokera)) f1 musi być f1 dla innych aplikacji działających równolegle
kto może pomóc ?
Jeśli tytuł Twojej aplikacji pokerowej zawsze kończy się na - NLH
, ale nie chcesz dopasowywać okien, których klasa jest PokerStarsTableFrameClass
, użyj następujących poleceń:
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
odczytuje A
tytuł okna | klasy active ( ) i zapisuje go w zmiennej Title|Class
.
- NLH$
jest wyrażeniem regularnym pasującym do wszystkich ciągów zakończonych znakiem - NLH
. ( $
jest końcem ciągu)
if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
Testy jeśli wyrażenie regularne pasuje Title
, aleClass
różni się od wyjątku.
Jeśli tak, SendPlay {F5}
wysyła F5do aktywnego okna.
W przeciwnym razie SendPlay {F1}
wysyła normalny F1do aktywnego okna.
code
SetTitleMatchMode 2 #IfWinActive NLH F1 :: SendPlay {F5} F2 :: SendPlay {F6} F3 :: SendPlay {F7} #IfWinActive returnNie potrzebujesz skryptu AutoHotkey. Musisz nauczyć się korzystać z dostępnych interfejsów API (poleceń), aby osiągnąć to, co chcesz. Aby wysłać dane wejściowe bezpośrednio do okna lub jego kontrolek, aktywnych lub nie, możesz użyć polecenia ControlSend .
źródło