#include <WinAPIProc.au3>
Local $iPID = Run('我的程序.exe') ;运行我的程序
Local $hWin = WinWait('我的程序标题')
Local $aData
;>>>>>>>>>> 以下假定程序非正常状态时,窗口不会有关键字,在关闭弹窗后才进入有关键字的正常状态
While Not StringInStr(WinGetText($hWin), '正常状态窗口含有的文本') ;>>>>>>>>>> 这里假定判断正常窗口的依据为窗口含有某关键字
Sleep(100)
$aData = _WinAPI_EnumProcessWindows($iPID, True) ;枚举窗口句柄或者类别名
If $aData[0][0] > 1 Then ;如果$aData[0][0] > 1 则有子窗口
MsgBox(48, '提示', '有子窗口弹出', 1) ;提示错误
WinClose(($aData[1][0])) ;关闭窗口
Else
MsgBox(48, '提示', '无子窗口,但也无关键字', 1) ;提示错误
EndIf
WEnd
MsgBox(64, '提示', '已是正常状态', 1)
|