2017-05-26 74 views
-1
;MouseGetPos, X, Y 
;msgbox %x%, %y% 
;MouseClick, left, 113, 376 
MyArray := {} 
MyArray.insert("cat") 
CoordMode,Mouse,Screen 
F1::  
    msgbox % MyArray 
    while (%var% != "false"){ 
     MouseGetPos, X, Y 
     msgbox %x%, %y% 
     MyArray.insert(x, y) 
     msgbox %MyArray% 

    } 
F2:: 
    Pause 
F3:: 
    Reload 
F4:: 
    ExitApp 
F5:: 
    var:="false" 
    Run C:\Windows\Notepad.exe "C:\Users\YUKI\Desktop\Test.txt" 
    sleep 2000 
    send {Enter} 
    sleep 2000 
    send {Enter} 
    FileAppend, %L% 
    sleep 4000 
    send {Enter} 
    send {alt} 
    send {a} 
    send {o} 
    send {Enter} 

我要插入到getMousePosition列表,我想我初始化所述陣列不正確,或者插入在x和y的變量不正確AutoHotkey的陣列

+0

當您打印msgbox時,打印一個空白列表|| 0,你至少應該打印一個包含0和「貓」 – user2957041

回答

0

Array.Insert()是用於索引數組( MyArray := []),但是你已經聲明瞭一個關聯數組(MyArray := {})。
關聯數組用於鍵/值對 - 例如MyArray.Cat := 1
索引數組具有增加數字的自動鍵 - 例如MyArray[1] := "Blah"
通常,使用索引數組,您可以使用MyArray.push("Blah")將新項添加到末尾,而不是使用.insert()在特定點插入。
在這裏保存先前的立場和這樣的你可能想索引數組,所以更改MyArray := {}MyArray := []和更改MyArray.insert(x, y)MyArray.push({x: x, y: y})
請注意,我將一個關聯數組拿着X和Y鍵/值對的索引數組。
要訪問個別座標,它將是MyArray[5].xMyArray[5].y
MyArray.Length()會告訴你有多少項目在陣列中。

有關更多信息,請參閱文檔here