Autohotkey 返回正确的鼠标线的问题

Autohotkey 返回正确的鼠标线的问题,autohotkey,Autohotkey,在这个问题中,调用setXTowerLocation()时,在退出消息框后会出现一个消息框,调用函数getXCords(),在该消息框中,当它检测到按下按钮时,会连续扫描并检查Lbutton的键状态getXCords()函数返回鼠标线的x值,在返回并在消息框中显示x线之前,在setXTowerLocation()函数中将其设置为全局变量。每次我运行它,消息框都是空白的,我已经测试了代码的各个方面,它们似乎都是单独工作的,所以我相信这一定是语法错误 结束消息框仅用于测试目的。提前感谢:) 是的,语

在这个问题中,调用setXTowerLocation()时,在退出消息框后会出现一个消息框,调用函数getXCords(),在该消息框中,当它检测到按下按钮时,会连续扫描并检查Lbutton的键状态getXCords()函数返回鼠标线的x值,在返回并在消息框中显示x线之前,在setXTowerLocation()函数中将其设置为全局变量。每次我运行它,消息框都是空白的,我已经测试了代码的各个方面,它们似乎都是单独工作的,所以我相信这一定是语法错误

结束消息框仅用于测试目的。提前感谢:)


是的,语法错误是xCord引用了一个以内容命名的变量(鼠标坐标)。在
getxCords()
中修复这两行,以便xCord保存变量xx的值,如下所示:

        xCord := xx
        return xCord
        xCord := "x= " . xx . " , y= " . yy
然后在后面的
return
(函数末尾)上没有
xCord

编辑:为了更有趣,将上面的
xCord
行如下:

        xCord := xx
        return xCord
        xCord := "x= " . xx . " , y= " . yy

很有魅力谢谢这是我第一次做AHK所以仍然掌握语法的窍门。如果你不介意的话,我想知道(xCord:=“x=”x=“.xx.”,y=“.yy”)中发生了什么,看起来简单多了,但我对它的工作原理有点迷茫。
xCord
是一个变量,它被设置为下面的表达式。因为我们在做表达式,所以变量是假定的。因此,首先是一个文本元素(需要引用文本元素),“
x=
”然后是
xx
中保存的值,然后是另一个文本元素和
yy
的值。这将产生如下结果:
x=651,y=453
,它提供了两个鼠标坐标。“
”(点)只是将这些元素连接在一起的一种方式。