我有一个作为Windows服务运行的UI应用程序,我想使用AutoIt来控制它。我可以通过使用WinGetHandle&获取UI窗口的句柄并使其处于活动状态。 WinActivate命令。但我无法控制ComboBox和Button。我使用以下脚本来完成预期的任务:
Local $hWnd1 = WinGetHandle ("UI Window", "") ;to get the handle of the UI
WinActivate( $hWnd1 ) ;to make it active
Sleep(2000)
ControlCommand($hWnd1, "", "ComboBox1", "ShowDropDown", "") ;to show the dropdown of Combo box
Sleep(3000)
ControlCommand($hWnd1, "", "ComboBox1", "SelectString", 'CollegeName') ;to select the string from dropdown list
Sleep(2000)
ControlCommand($hWnd1, "", "ComboBox1", "HideDropDown", "") ;to hide the dropdown of Combo box
Sleep(1000)
ControlClick($hWnd1, "", "[CLASS:Button; TEXT:Submit; INSTANCE:1]") ;to click on 'Submit' button
Sleep(2000)
这段代码只是让窗口处于活动状态,并且在某些时间不做任何其他操作后退出程序。这个问题是否因为它作为Windows服务运行而发生?如果是这样,我如何将命令发送到我的UI控件?请尽快帮助我。 PS:AutoIt窗口信息能够识别UI的每个控件(包括ComboBox& Button)。我不想将我的脚本作为Windows服务运行。
答案 0 :(得分:0)
使用
#RequireAdmin
使用和播放
ControlCommand($hWnd1, "", "[ID:ComboBox1]", "ShowDropDown", "")