我編寫了一個程序,在計劃時間使用Win32自動點擊應用程序,使用MOUSE_DOWN
和MOUSE_UP
。它通常運作良好,除了我發現,我需要把在如何準確編程Windows上的自動「點擊」?
sleep 0.1
的MOUSE_DOWN
和MOUSE_UP
之間。 (使用Ruby,允許睡眠幾分之一秒)。
沒有睡眠,有時點擊不會通過。但我注意到,有時點擊太長了。點擊實際上是在Flash應用的右箭頭上。這個右箭頭將轉到列表中的下一個項目。所以如果你再延長一段時間MOUSE_DOWN
,它實際上會移動2或3個項目而不是1個項目。
所以我想知道,在這種情況下,有沒有一種方法可以精確模擬1次點擊。可能沒有MOUSE_CLICK
事件?它必須使用MOUSE_DOWN
和MOUSE_UP
來模擬?
(它實際上是調用Win32上MOUSEEVENTF_LEFTDOWN
和MOUSEEVENTF_LEFTUP
,只是爲了簡單起見,表示爲MOUSE_DOWN
代替。)
因爲你卻把[Perl的]標籤,我要問哪一部分我的回答您以前對這個問題並沒有解決你的問題:http://stackoverflow.com/questions/ 1007391/using-perl-python-or-ruby-how-to-write-a-program-to-click-on-the-screen-at-s/1009497#1009497 – 2009-06-18 12:56:28
我開始使用Win32:GUI,但它需要一些更多的安裝,所以我開始研究Ruby。 Win32:GuiTest也需要安裝嗎?如果是點擊,那可能會更好。它是否通過使用時間戳發送點擊作爲MOUSE_DOWN和MOUSE_UP一定的時間間隔? – 2009-06-18 13:26:25
@Jin Lin看着源代碼,它似乎發送一個鼠標按下事件,緊接着鼠標事件(在相同的位置),之間沒有任何延遲。當我對延遲發表評論時,我猜想我正在考慮雙擊。 Win32 :: GuiTest也需要安裝。 – 2009-06-18 14:08:08