2017-02-02 23 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