当我点击一个新窗口button时,它总是在Windows 7 64位操作系统的后台打开。
对于我的自动化任务,我需要把这个窗口放在前面。
以下是我的pyautoit代码:
autoit.send("{TAB 2}") sleep(3) autoit.send("{ENTER}") # After this step new window appears in background Wnd = autoit.win_wait("[CLASS:#32770]", 15) autoit.win_activate(Wnd) sleep(5) autoit.send("{ENTER}")
我已经尝试win_wait和win_activate,如下所示:
Wnd = autoit.win_wait("[CLASS:#32770]", 15) autoit.win_activate(Wnd)
但是我得到以下错误:
WindowsError: exception: access violation reading 0x00000001
然后我尝试了“regedit”选项,如下面的URL所示:
http://ask.brothersoft.com/when-i-open-a-program-window-sometimes-it-opens-in-the-background-instead-of-the-foreground-253939.html
但没用。 我仍然看到同样的问题。
有谁能帮我解决这个问题吗?
我会这样做:
AutoIt.Send("{TAB 2}") Sleep(3) AutoIt.Send("{ENTER}") AutoIt.WinWaitActive("[CLASS:#32770]", 15) AutoIt.WinActivate("[CLASS:#32770]") Sleep(5) AutoIt.Send("{ENTER}")
或者使用Alt-Tabs
AutoIt.Send("{TAB 2}") Sleep(3) AutoIt.Send("{ENTER}") Sleep(1) AutoIt.Send("{ALT DOWN}") AutoIt.Send("{TAB}") AutoIt.Send("{ALT UP}") Sleep(5) AutoIt.Send("{ENTER}")
也不要使用CLASS,只需使用窗口的名称就可以了:
AutoIt.WinWaitActive("Setup", 15)