#include <ProgressConstants.au3>
#include <SendMessage.au3>
#include <GuiEdit.au3>
;проверял на CCleaner v3.17.1689
$iCheck = 0
$sMessage = ''
$iPid = Run(@ProgramFilesDir & '\CCleaner\CCleaner.exe');запускаем CCleaner
$hWin = WinWait('[Title:Piriform CCleaner; Class:PiriformCCleaner]', '', 5) ;ждем 5 сек его окно
If Not $hWin Then
MsgBox(16, 'Error', 'Нет окна :(')
If ProcessExists($iPid) Then ProcessClose($iPid) ;закрываем процесс, если он есть
Exit -33 ;если не дождались, то выход
EndIf
$iStart = TimerInit() ;фиксируем время начала отсчета
While Not $iCheck ;цикл пока кнопка не станет активной
$iCheck = ControlCommand($hWin, '', '[CLASS:Button; INSTANCE:1]', 'IsEnabled', '')
Sleep(500)
If TimerDiff($iStart) > 10000 Then ExitLoop ;если прошло больше 10 сек принудительно завершаем цикл
WEnd
If Not $iCheck Then
MsgBox(16, 'Error', 'Кнопка Анализ не стала активной :(')
WinClose($hWin) ;закрываем окно
Exit -55
EndIf
ControlClick($hWin, '', '[CLASS:Button; INSTANCE:1]') ;кликаем по кнопке Анализ
$hProgress = ControlGetHandle($hWin, '', '[CLASS:msctls_progress32; INSTANCE:1]') ;получаем Handle Progress bar`a
$iStart = TimerInit() ;фиксируем время начала отсчета
While $iCheck < 100 ;цикл
$iCheck = _SendMessage($hProgress, $PBM_GETPOS) ;получаем данные из Progress bar`a
ConsoleWrite(StringFormat('%d%', $iCheck) & @LF)
Sleep(200)
If TimerDiff($iStart) > 20000 Then ExitLoop ;если прошло больше 20 сек принудительно завершаем цикл
WEnd
If $iCheck < 100 Then
MsgBox(16, 'Error', 'Не дождались окончания анализа :(')
WinClose($hWin) ;закрываем окно
Exit -77
EndIf
$hEdit = ControlGetHandle($hWin, '', '[CLASS:Edit; INSTANCE:2]') ;получаем Handle Edit
$iCheck = _GUICtrlEdit_GetLineCount($hEdit) ;получаем кол-во строк в Edit
For $i = 0 To $iCheck - 1
$iStart = _GUICtrlEdit_GetLine($hEdit, $i) ;получаем текст построчно
If StringRegExp($iStart, '[ЁёА-Яа-я]') Then ;если есть русские буквы
$sMessage &= $iStart & @LF ;присоединяем к сообщению
EndIf
Next
MsgBox(64, 'Info', StringTrimRight($sMessage, 1))
MsgBox(64, 'Info', 'Здесь делаем все, что нам нужно дальше')