You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在AutoHotkey中使用变量定义按键按下与抬起操作?

AutoHotkey v2 变量控制按键按下/抬起的正确写法

你的代码失效是因为没在Send命令里正确解析变量,AHK v2的字符串处理和Send语法和v1有差异,以下是两种可行写法:

写法1:字符串拼接

test(key){
    Send "{" key " down}"  ; 把变量直接拼接到按键指令字符串中
    Sleep 500
    Send "{" key " up}"
}
test("w")  ; 必须传带引号的字符串,直接写test(w)会把w当成未定义变量,肯定无效

写法2:变量插值

v2支持在双引号字符串里用%变量名%做插值,这种写法更直观:

test(key){
    Send "{%key% down}"
    Sleep 500
    Send "{%key% up}"
}
test("w")

额外注意

  • SendInput替代Send可以获得更稳定的按键模拟效果,用法完全一致
  • 你贴的官方文档示例InStr(MyVar, "fox")是正确的v2字符串查找语法,和当前按键控制的问题无关

内容的提问来源于stack exchange,提问作者kite

火山引擎 最新活动