AHK if 语句 - 运行 指令基于按下的组合键
AHK if statement - run instruction based on key combination pressed
有没有办法将下面的常用指令组合成一套代码?即,如果按下 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
您可以为同一段代码定义多个不同的热键 运行 然后您可以通过检查 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"
有没有办法将下面的常用指令组合成一套代码?即,如果按下 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
您可以为同一段代码定义多个不同的热键 运行 然后您可以通过检查 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"