窗口的主要把柄

时间:2013-02-21 18:38:10

标签: autoit

只是尝试使用ControlSend,但该程序仍然不情愿。现在我发现了主要的把手,但我仍然不知道如何正确地写它。帮助获得赞赏。

;   Process: System.Diagnostics.Process (javaw)
;   Process ID: 4752
;   Handle Count: 430
;   Responding: Yes
;   Title: ?ok???O?
;                                               <= Looks stange but this is the title.
;   ?
;   Main Handle: 1115426


$mainHanlde = ""

While 1
   ControlClick("", "", $mainHanlde,"{Down}")
   Sleep(900)
   ControlClick("", "", $mainHanlde,"{Down}")
   Sleep(900)
   ControlClick("", "", $mainHanlde,"{Down}")
   Sleep(900)
   ControlClick("", "", $mainHanlde,"a")
   Sleep(Random(750, 2000, 1))
   ControlClick("", "", $mainHanlde,"a")
   Sleep(Random(750, 2000, 1))
   ControlClick("", "", $mainHanlde,"a")
   Sleep(Random(750, 2000, 1))
   ControlClick("", "", $mainHanlde,"a")
   Sleep(3000)
WEnd

2 个答案:

答案 0 :(得分:1)

首先你需要手柄。单击应用程序后,您可以在睡眠(999)后使用$handle = WinGetHandle("[ACTIVE]")获取它。请注意,每次运行程序时句柄都会发生变化。

然后您尝试使用WinFlash($handle)进行确认。或者将WinGetTitle(...)的结果写入您的控制台。

最后你将它与控制功能一起使用.... ControlSend($handle, Default, "", "{Down}")

这三个简单的步骤可以帮助我完成我的应用程序。

答案 1 :(得分:0)

您可以尝试使用标题和文字,并将ID留空。这应该工作。