当我点击一个新窗口按钮时,它总是在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)