Что нового

[Автоматизация] Активация 2-ой вкладки в Malwarebytes Anti-Malware (PRO)

PACHOM

Новичок
Сообщения
99
Репутация
0
Здравствуйте!

Не получается снять галочку в программе. Есть скриншот окна программы и полный её анализ полученный с помощью WinInfo (см. вложения).

Код:
#RequireAdmin

Opt("WinTitleMatchMode", 2)
Opt('WinWaitDelay',100)
Opt('WinDetectHiddenText',1)
Opt("SendKeyDownDelay", 150)

HotKeySet("{ESC}", "Terminator")
Func Terminator()
	MsgBox(64+4096, 'Остановка', 'Выходим из макроса')
    Exit 0
EndFunc

;Запуск программы Malwarebytes Anti-Malware (PRO)
Run("C:\Program Files (x86)\Malwarebytes' Anti-Malware\mbam.exe")
$hWnd = WinGetHandle("[ACTIVE]")
WinWaitActive($hWnd,"",3)
MsgBox(64+4096, 'Результат', '$hWnd =' & @LF & $hWnd)

MsgBox(64, 'Результат', 'Активируем вкладку Защитный модуль')
ControlClick($hWnd, '', '[CLASS:SysTabControl32; INSTANCE:2]', "main", 1)

MsgBox(64+4096, 'Результат', 'Снимаем/Ставим галочку')
ControlClick($hWnd, '', '[CLASS:ThunderRT6CheckBox; INSTANCE:3]', "main", 1)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
PACHOM,
Смотрите в справке
Код:
ControlCommand()
Вам нужны CurrentTab, TabRight, TabLeft.
 
Автор
P

PACHOM

Новичок
Сообщения
99
Репутация
0
Не выходит ... вот код:
Код:
#RequireAdmin

Opt("WinTitleMatchMode", 2)
Opt('WinWaitDelay',100)
Opt('WinDetectHiddenText',1)
Opt("SendKeyDownDelay", 150)

HotKeySet("{ESC}", "Terminator")
Func Terminator()
	MsgBox(64+4096, 'Остановка', 'Выходим из макроса')
    Exit 0
EndFunc

;Запуск программы Malwarebytes Anti-Malware (PRO)
Run("C:\Program Files (x86)\Malwarebytes' Anti-Malware\mbam.exe")
$hWnd = WinGetHandle("[ACTIVE]")
WinWaitActive($hWnd,"",8)

ControlCommand($hWnd, "", "SysTabControl32", "TabRight")
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
PACHOM [?]
Попробуйте поменять
Код:
$hWnd = WinGetHandle("[ACTIVE]")
на
Код:
$hWnd = WinWait('[Title:Malwarebytes Anti-Malware (PRO); Class:ThunderRT6FormDC]', '', 3)
ИМХО, у Вас нужное окно не успевает появиться и скрипт перехватывает другое окно.
 
Автор
P

PACHOM

Новичок
Сообщения
99
Репутация
0
Здравствуйте!

Поменял. Логику понял.
Скрипт не активируем вкладку ...
Я где-то на форуме нашёл скрипт по перебору вкладок - так вот он вкладки не видел, а проходился по пунктам самой вкладки. Может быть этот метод активации не будет работать ... Я тогда мышкой его реализую.
А вот ссылка на упоминаемый мной скрипт: http://autoit-script.ru/index.php/topic,1176.0.html
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
PACHOM [?]
Скрипт не активируем вкладку
Вы не указали номер контрола. Должно быть "SysTabControl322"

Вот рабочий скрипт
Код:
#RequireAdmin

;Запуск программы Malwarebytes Anti-Malware (PRO)
Run("C:\Program Files (x86)\Malwarebytes' Anti-Malware\mbam.exe")

;Ожидание отображения окна
$hWnd = WinWaitActive("Malwarebytes", "", 8)

;Переход на вкладку справа
ControlCommand($hWnd, "", "SysTabControl322", "TabRight")

;Ожидание появления контрола
Do
Until ControlCommand($hWnd, "", "ThunderRT6CheckBox3", "IsVisible")

;Выключение
ControlCommand($hWnd, "", "ThunderRT6CheckBox3", "UnCheck")

;Включение
;ControlCommand($hWnd, "", "ThunderRT6CheckBox3", "Check")
 
Верх