2017-02-02 1 views
0

웹 페이지를 열고 로그인 한 다음 프로그램을 열고 프로그램을 맨 앞으로 가져 와서 전체 화면으로 만드는 스크립트가 있습니다. 창은 열리지 만 항상 앞으로 가져 오지는 않으며 전체 화면이 아닙니다. 아무도 도움을 줄 수 있습니까? 여기 내 코드는 다음과 같습니다.창이 활성화/나타나지 않습니다.

; Closes last dialog if still open 
Sleep(5000) 
Send("{ENTER}") 
Sleep(500) 

; Wait for program to open 
WinWait("[CLASS: Program example]","", 5) 

;Brings Program to front 
if WinExists("[CLASS: Program example]") Then 
    WinActivate("[CLASS: Program example]") 
EndIf 

Sleep(500) 

; Sets program fullscreen 
WinSetState("[ACTIVE]", "", @SW_MAXIMIZE) 

WinWait을 추가하여 도움이되는지 확인했습니다. 창문은 뒤쪽에 있으며 움직이지 않습니다. 제공된 모든 도움에 감사드립니다.

+0

WinWait() 및 WinActivate()는 창 핸들을 반환합니다. 변수에 보관하십시오. 이 윈도우가 앞에 오도록하려면 다음을 사용해야합니다 :'WinSetOnTop ($ hWnd, '', 1)' – McBarby

답변

1

때때로 AutoIt은 명령을 방해하는 일이 동시에 일어나기 때문에 일부 작업을 수행하지 않습니다. 일을 확실히하는 가장 좋은 방법은 작업이 수행되었는지 항상 확인하고 그렇지 않은 경우 다시 시도하는 것입니다. 이 루프는 문제를 해결합니다.

;Brings Program to front 
While Not WinActive("[CLASS: Program example]") 
    WinActivate("[CLASS: Program example]") 
    Sleep(1000) ; Wait one second (or any seconds you want) 
WEnd