2012-05-30 84 views
0

我正在使用AutoIt來嘗試自動化使用名爲PhotoZoom 4的程序。我遇到了一個問題,我需要將文本輸入框中,這是類和實例: [CLASS:wxWindowNR;實例:8]什麼是CLASS:wxWindowNR在AutoIt中,我怎樣才能點擊控件?

我已經試過,沒有運氣以下(每行是一個單獨的嘗試):

ControlSetText($batchWindowTitle2, "", "[CLASS:wxWindowNR; INSTANCE:8]", '800') 

ControlCommand($batchWindowTitle2, "", "[CLASS:wxWindowNR; INSTANCE:8]", "AddString", '800') 

ControlClick($batchWindowTitle2, "", "[CLASS:wxWindowNR; INSTANCE:8]", "left", 1, 32, 12) 
Send("800") 

我希望無論是ControlCommand或ControlSetText至少工作,但他們沒有。 我GOOGLE了這個問題,但我實際上無法在網絡上的任何地方找到任何「wxWindowNR」引用。我會附上一張控制照片。

如果你不知道wxWindowNR是什麼(我想你可能沒有,因爲我沒有看到它在網絡上的任何其他地方),什麼是自動點擊並在框中鍵入的最佳方式是什麼?我以爲ControlClick會做到這一點...

The control I'm working with

+2

是否嘗試通過所有控件「製表符」(例如'send(「{Tab 5}」)'),直到您在GUI中到達那裏,然後使用簡單的'send()'? 您的GUI可能會阻止實際硬件狀態的自動化並檢查您的鼠標或鍵盤是否被實際按下。這將很難操縱。 並[[GUICtrlSetState(...,$ GUI_FOCUS)'](http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetState.htm)工作嗎?你需要'#include '。 – Samoth

+0

非常好,Tab技巧奏效!有時候你想得更像這樣..謝謝! – Ken

回答

1

「標籤週期」(例如,send("{Tab 5}"))通過所有控件,直到你在你的GUI那裏,然後用一個簡單的send()