我需要一個 ahk 腳本來發送 3 個不同的熱鍵(例如按 f1,將 f5 發送到特定(撲克)應用程式的活動視窗),但對於並行運行的其他應用程序,f1 必須是 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 並將其儲存在變數 中Title|Class
。- NLH$
是一個正規表示式符合所有以 結尾的字串- NLH
。 ($
是字串的結尾)if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
測試正規表示式是否匹配Title
,但這Class
與例外不同。如果是,
SendPlay {F5}
則傳送F5到活動視窗。否則,
SendPlay {F1}
將法線傳送F1到活動視窗。
答案2
您不需要 AutoHotkey 腳本。您需要學習如何使用可用的 API(命令)來實現您想要的目的。若要將輸入直接傳送至視窗或其控制項(無論是否已活動),您可以使用控制發送命令。