ich brauche ein ahk-Skript, das 3 verschiedene Hotkeys sendet (drücken von f1, senden von f5 zum Beispiel an das aktive Fenster einer bestimmten (Poker-)Anwendung). Für andere Anwendungen, die parallel laufen, muss f1 jedoch f1 sein.
Wer kann helfen ?
Antwort1
Wenn der Titel Ihrer Poker-Anwendung immer mit endet - NLH
, Sie jedoch nicht die Fenster mit der Klasse abgleichen möchten PokerStarsTableFrameClass
, verwenden Sie Folgendes:
F1::
WinGetTitle, Title, A
WinGetClass, Class, A
if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
SendPlay {F5}
else
SendPlay {F1}
return
Wie es funktioniert
WinGet(Title|Class), (Title|Class), A
liest denA
Titel|die Klasse des aktiven () Fensters und speichert ihn in der VariableTitle|Class
.- NLH$
ist einregulären AusdruckÜbereinstimmung mit allen Zeichenfolgen, die mit- NLH
. enden ($
ist das Ende der Zeichenfolge)if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
testet, ob der reguläre Ausdruck übereinstimmtTitle
,AberdasClass
ist etwas anderes als die Ausnahme.Wenn ja, wird an das aktive Fenster
SendPlay {F5}
gesendet .F5Andernfalls
SendPlay {F1}
wird eine Normale F1an das aktive Fenster gesendet.
Antwort2
Sie benötigen kein AutoHotkey-Skript. Sie müssen lernen, wie Sie die verfügbaren APIs (Befehle) verwenden, um das gewünschte Ergebnis zu erzielen. Um Eingaben direkt an ein Fenster oder seine Steuerelemente zu senden, ob aktiv oder nicht, können Sie dasSteuerungSendenBefehl.