我需要一个 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
。- NLH$
是正则表达式匹配所有以 . 结尾的字符串- NLH
($
是字符串的结尾)if (RegExMatch(Title, "- NLH$") AND (Class != "PokerStarsTableFrameClass"))
测试正则表达式是否匹配Title
,但和Class
异常 不同。如果是,
SendPlay {F5}
则发送F5到活动窗口。否则,向活动窗口
SendPlay {F1}
发送法线。F1
答案2
您不需要 AutoHotkey 脚本。您需要学习如何使用可用的 API(命令)来实现您想要的功能。要将输入直接发送到窗口或其控件(无论是否处于活动状态),您可以使用控制发送命令。