The_Immortal
Новичок
- Сообщения
- 84
- Репутация
- 4
И снова здравствуйте!
Ситуация следующая. Имеется окно с кнопкой, по нажатию на которую появляется MsgBox (с таким же заголовком, как и главное окно) с кнопками "Да" (выбрана по умолчанию) и "Нет". Необходимо всё это дело спрятать и нажать сначала на инициализирующую MsgBox кнопку, а потом на "Да" в MsgBox.
Проблема в том, что этот MsgBox не определяется как окно, поэтому я идентифицирую кнопку на нем по ID:
Мне этот вариант не очень нравится, т.к. кликание по ID как-то не надежно, поэтому я попробовал задействовать WinList() после вызова MsgBox'а:
- в $aWins приходят два хендла. Как видите, я пробовал использовать оба, но не один не реагировал на кнопку "Да".
И второе, что хотелось бы реализовать, это скрытие этого MsgBox'а вовсе. program.exe успешно скрывается при запуске, а вот MsgBox - нет.
Спасибо!
P.S. Программа не AutoIt'овская.
Ситуация следующая. Имеется окно с кнопкой, по нажатию на которую появляется MsgBox (с таким же заголовком, как и главное окно) с кнопками "Да" (выбрана по умолчанию) и "Нет". Необходимо всё это дело спрятать и нажать сначала на инициализирующую MsgBox кнопку, а потом на "Да" в MsgBox.
Проблема в том, что этот MsgBox не определяется как окно, поэтому я идентифицирую кнопку на нем по ID:
Код:
$sTitle = "MyTitle"
$sFileExe = "program.exe"
Run($sFileExe, "", @SW_HIDE)
$hWin = WinWait($sTitle)
ControlClick($hWin, '', "[CLASS:TButton; INSTANCE:1]")
Sleep(1000)
ControlClick("", "", "[CLASS:TButton; ID: 6]"); кнопка "Да"
Мне этот вариант не очень нравится, т.к. кликание по ID как-то не надежно, поэтому я попробовал задействовать WinList() после вызова MsgBox'а:
Код:
$sTitle = "MyTitle"
$sFileExe = "program.exe"
Run($sFileExe, "", @SW_HIDE)
$hWin = WinWait($sTitle)
ControlClick($hWin, '', "[CLASS:TButton; INSTANCE:1]")
$aWins = WinList($sTitle)
Sleep(1000)
ControlClick($aWins[1][1], "", [CLASS:TButton; INSTANCE:1]); попытка нажать кнопку "Да"
ControlClick($aWins[2][1], "", [CLASS:TButton; INSTANCE:1]); попытка нажать кнопку "Да"
И второе, что хотелось бы реализовать, это скрытие этого MsgBox'а вовсе. program.exe успешно скрывается при запуске, а вот MsgBox - нет.
Спасибо!
P.S. Программа не AutoIt'овская.