【发布时间】:2014-11-01 20:27:51
【问题描述】:
我正在使用 GuiControl 捕获用户热键选择,然后将热键保存到 ini。然后我从 ini 文件中检索热键并在代码中使用它。唯一的问题是带有修饰符的热键保存为 AHK 速记,例如 ^ 用于控制,当我尝试在这样的脚本中使用它时:
key = ^2
controlSend, ,%key%, ahk_id %id%
游戏实际上只会收到“2”。所以我写了一个函数来删除 ^ 并分别替换为 {LControl Down} 和 {LControl Up} 。但是它不起作用,因为下面的代码在第二行“IfInString,^,输入”中抛出了非法字符错误,但我也认为它会在第 4 行。
convertModifier(input) {
IfInString, ^, input
{
output := {LControl Down} . SubStr(input, InStr(input, ^)+1) . {LControl Up}
return output
}
}
我尝试使用 ` 和 \ 来逃避 ^ 但没有运气。有人有什么想法吗?
非常感谢您的宝贵时间。
【问题讨论】:
-
你需要翻转你的参数,它是
IfInString, input, ^
标签: autohotkey