在AutoHotKey中,我将全局数组定义为:
tab_index_array := []
在脚本的下方,我调用一个函数来构建表:
BuildTabIndexArray()
{
global
; coords of each of the 8 selectable tabs on screen
tab_index_array.Push(332,490)
tab_index_array.Push(378,490)
tab_index_array.Push(433,490)
tab_index_array.Push(486,490)
tab_index_array.Push(557,490)
tab_index_array.Push(611,490)
tab_index_array.Push(685,490)
tab_index_array.Push(745,490)
}
这对我来说非常简单,但是,当我尝试访问此表时,我得到的只是空白(空)值。
ClickTab(which_tab)
{
global
coords_ := []
tab_str := tab_index_array[which_tab]
stringsplit, coords_, tab_str, ","
x_ := coords_[1]
y_ := coords_[2]
SplashTextOn,,, %x_% "`n" %y_%
SetTimer, KillSplashText, -5000
;SetMouseDelay, slow_click_wait_time
;SendEvent {click, %x_%, %y_%}
;SetMouseDelay, click_wait_time
}
我做错了什么?我想做的就是从数组中获取坐标并将它们提供给SendEvent命令。我会非常感激您提供的任何帮助,因为我已经打了一段时间了。
谢谢,
答案 0 :(得分:1)
由于您希望在tab_index_array.Push("332,490")
的每个字段中存储字符串,因此需要将其放在引号中,例如
if()
函数调用和定义(包括.push()
,strLen()
,{{1}}等等,就像函数在其他编程语言中一样工作。您只能在大多数AutoHotkey命令中留下引号,这些命令非常舒适,但有时会让人感到困惑。