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(コマンド)の使い方を学ぶ必要があります。アクティブかどうかに関係なく、ウィンドウまたはそのコントロールに直接入力を送信するには、コントロール送信指示。