autoit3——打开窗口

利用AccExplorer.exe来打开选定的窗口

$Dis_Window_title:窗口名

Func Select_window_Dialog($Dis_Window_title)

    ;select one window in AccExplorer
    WinActivate($Dis_Window_title)
    ;判断当前AccExplorer是否已运行,如果在运行,则停止该程序
    While ProcessExists("AccExplorer.exe")
        ProcessClose("AccExplorer.exe")
    WEnd
    Sleep(10)
    ;运行AccExplorer程序,并最大化

    Run("AccExplorer.exe","",@SW_MAXIMIZE)

    ;如果出现错误,则关闭AccExplorer,等待一段时间后再重新打开该程序

    While @error
        If ProcessExists("AccExplorer.exe")Then
            ProcessClose("AccExplorer.exe")
        EndIf
        Sleep(500)
        Run($AccPath & "AccExplorer.exe","",@SW_MAXIMIZE)

    WEnd

   ;如果一定时间内没有启动AccExplorer程序,则把信息写入log中

    If not WinWaitActive($AccExplorerWindow,"",10)Then
        ;_FileWriteLog($LogPath & "\" & $LogName, "{Open the AccExplorer.exe timeout.}   " & "[Error]", -1)
        Return 0

    EndIf

   ;此时保证AccExplorer已经运行,并最大化,然后通过其菜单,打开选择窗口

    Sleep(800)
    Send("!o")   ;打开菜单项Options
    Sleep(800)
    Send("c")   ;选择choose window from list
    Sleep(800)
    Send($Dis_Window_title)   ;输入要打开的window
    Sleep(5000)
    Send("{Enter}") ;按回车键
    Sleep(8000)
    
    ;While Not StringInStr(ControlGetText ($AccExplorerWindow,"",$StatusBar),"Built hierarchy")
    ;WEnd
    ;展开该窗口列表   
    Sleep(5000)
    Send("+x")
    Sleep(5000)
    Return 1
EndFunc

你可能感兴趣的:(autoit3——打开窗口)