2012-03-30 48 views
0

同時使AutoHotkey的腳本我遇到了以下問題。我需要導航列表框(一個位置向下)。如果當前選擇的行是可見列表框區域的底線,則導航將比選擇位於最後一行之上的時間長。有一個說明video這種行爲。 (編輯:據我瞭解,有一個額外的時間來重繪列表框)導航控制(列表框)時間滯後

下面的腳本不選定底線工作。

Send, {tab} ; Set focus to ListBox 
Send, {down} ; Navigate Listbox 
Send, {enter} ; Submit selection 

所以,我可以在第二行後插入Sleep, 200。但是,可能有更優雅的解決方案。如果存在這樣的解決方案,請給我描述一下。

+0

您還沒有提問任何問題(還沒有任何句子以?結尾?)。 – 2012-03-31 17:09:47

+0

@HonestAbe:我不是以英語爲母語的人。我解釋清楚了我的問題嗎? – 2012-03-31 18:59:25

回答

1

我無法重現你在談論的行爲。

真的是沒有什麼不雅的有關添加一個睡眠命令,如果它使事情工作。
在各種應用程序中,使用Send命令使事情順利運行時,經常需要休眠。這是因爲發送命令有時會比應用程序設計處理更快地發送人爲擊鍵。我需要編寫如下腳本:

Send, {x down} 
Sleep, 50 
Send, {x up} 

它可以在多個應用程序中工作,以模擬按下持續時間。
當然有SetKeyDelay但你沒有控制權。

另一種選擇是使用GuiControl選擇的事情。
這裏是一個粗略的例子:

Gui, Add, DropDownList, vColorChoice, Black|White|Red|Green|Blue 
Gui, Add, ListBox, vChoice Choose1 AltSubmit h120, Red|Green|Blue|Black|White 
Gui, Show, h156 

loop 4 
{ 
Gui, Submit, nohide 
sleep, 1000 
GuiControl, Choose, Choice, % Choice + 1 
Send, {enter}{tab} 
} Return 

這是一個示範,而不是實際的腳本。 要選擇特定的東西,它看起來像:

GuiControl, Choose, Choice, 3