AHK if 语句 - 基于按下的组合键运行指令

弗雷德

有没有办法将以下常用指令组合成一组代码?即如果按下 ctrl-m 则输入分钟,否则如果按下 ctrl-s 则输入秒。

感谢您的帮助。

^m::
WinActivate menu
Click, 100, 50
sleep 200
Send minutes; typing into input field
sleep 200
Click, 100, 100; clicking button opens application called minutes
return

^s::
WinActivate menu
Click, 100, 50
sleep 200
Send seconds; typing into input field
sleep 200
Click, 100, 100; clicking button opens application called seconds
return
0x464e

您可以定义多个不同的热键来运行相同的代码块,然后您可以通过检查来判断使用了哪个热键A_ThisHotkey

^m::
^s::
    if(A_ThisHotkey = "^m")
        variable := "minutes"
    else
        variable := "seconds"
    WinActivate, menu
    Click, 100, 50
    Sleep, 200
    SendInput, % variable ;typing into input field
    Sleep, 200
    Click, 100, 100 ;clicking button opens application called minutes
return

请注意,我们正在A_ThisHotkey尽快检查 的值,因此我们确保获得正确热键的值,而不是其他可能中断当前线程的热键(如文档中所推荐)。由于它更快,更可靠,因此
也切换SendInput到了。


作为奖励,如果您想要更紧凑的代码,请将 if-else 语句替换为三元:

variable := A_ThisHotkey = "^m" ? "minutes" : "seconds"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章