Autohotkey InStr()函数

Autohotkey InStr()函数,autohotkey,Autohotkey,也许我误解了自动热键功能的工作原理。下面是一些测试代码: pos = InStr(123abc789, abc) MsgBox, abc is at pos "%pos%" Exit MsgBox的内容如下: abc位于位置“InStr(123abc789,abc)” 我希望pos的值是4 现在,自动热键帮助文件说明了关于InStr(): 返回字符串指针在字符串干草堆中出现的位置。。。例如,“123abc789”中“abc”的位置始终为4 怎么了???你错过了两件事。您必须确保使用:=赋值,并

也许我误解了自动热键功能的工作原理。下面是一些测试代码:

pos = InStr(123abc789, abc)
MsgBox, abc is at pos "%pos%"
Exit
MsgBox的内容如下:

abc位于位置“InStr(123abc789,abc)”

我希望pos的值是4

现在,自动热键帮助文件说明了关于
InStr()

返回字符串指针在字符串干草堆中出现的位置。。。例如,“123abc789”中“abc”的位置始终为4


怎么了???

你错过了两件事。您必须确保使用
:=
赋值,并将字符串置于引号中。请参见下面修改的代码:

pos := InStr("123abc789", "abc") ; strings must be in quotes unless variables
MsgBox, abc is at pos "%pos%"
此外:

无法工作,变量必须在百分号之间,没有引号

这将有助于:

MsgBox, abc is at pos %pos%

这是错误的。将打印报价:abc位于位置“%pos%”将导致abc位于位置“4”
MsgBox, abc is at pos "%pos%"
MsgBox, abc is at pos %pos%