特定のウィンドウにホットキーを送信するための AHK スクリプト

特定のウィンドウにホットキーを送信するための AHK スクリプト

3つの異なるホットキーを送信するAHKスクリプトが必要です(たとえば、特定の(ポーカー)アプリケーションのアクティブウィンドウにF1を押してF5を送信します)ただし、並行して実行されている他のアプリケーションの場合は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(コマンド)の使い方を学ぶ必要があります。アクティブかどうかに関係なく、ウィンドウまたはそのコントロールに直接入力を送信するには、コントロール送信指示。

関連情報