AHK-Skript zum Senden von Hotkeys an bestimmte Fenster

AHK-Skript zum Senden von Hotkeys an bestimmte Fenster

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), Aliest den ATitel|die Klasse des aktiven () Fensters und speichert ihn in der Variable Title|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 übereinstimmt Title,Aberdas Classist etwas anderes als die Ausnahme.

    • Wenn ja, wird an das aktive Fenster SendPlay {F5}gesendet .F5

    • Andernfalls 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.

verwandte Informationen