我正在使用GuiControl捕获用户热键选择,热键然后保存到ini。然后我从ini文件中检索热键并在代码中使用它。唯一的问题是带有修饰符的热键保存为AHK速记,例如^用于控制,当我尝试在脚本中使用它时:
key = ^2
controlSend, ,%key%, ahk_id %id%
游戏实际上只会收到“2”。所以我编写了一个函数来删除^并分别替换为{LControl Down}和{LControl Up}。但是它不会起作用,因为后续代码抛出并且在第二行“IfInString,^,input”中出现非法字符错误,但我也假设它将在第4行。
convertModifier(input) {
IfInString, ^, input
{
output := {LControl Down} . SubStr(input, InStr(input, ^)+1) . {LControl Up}
return output
}
}
我尝试过使用`和\来逃避^但没有运气。有人有什么想法吗?
非常感谢您提前感谢。
答案 0 :(得分:0)
所以Sidola是正确的,我的针头和错误的方法在我的IfInString中堆叠。随着一些其他错误的解决,这个解决方案开始像梦一样。
谢谢Sidola。