achumagin Вот предлагаю вам альтернативный вариант.
Покажу на примере
MSOffice (просто он был под рукой)
Запускаем инсталляцию и проходим её до момента выбора компонентов
Рис.1 .
Далее выбираем раздел
Microsoft Office и в открывшемся списке с помощью утилиты
Au3Info.exe находим нужные нам данные, а именно, класс
SysTreeView32 , его позицию в окне и координаты курсора мыши (в тот момент, когда мы навели прицел)
Рис.2 .
После нехитрых вычислений мы получаем координаты для функции
ControlClick .
Ну а теперь, пишем скрипт!
Укажем
Autoit `у с помощью функции
Opt , что хотим искать окна по специфическим данным, таким как
часть строки в заголовке окна,
CLASS ,
ID и т.д.
Opt ( 'WinTitleMatchMode' , 2 ) Так же дадим понять, что будем работать с координатами клиентской части выбранного нами окна.
Opt ( 'MouseCoordMode' , 2 ) ; ... После чего будет идти часть скрипта, которая проведёт нас по инсталляции до момента, когда нам нужно будет выбрать компоненты. Эту часть мы опустим.
Пишем далее:
ControlTreeView ( "Office XP" , "" , "[CLASS:SysTreeView32; INSTANCE:1]" , "Select" , "#0|#0" ) Здесь мы указали
Autoit `у, что нам нужно раскрыть дерево
SysTreeView32 и выбрать первый
Sub Item он же нулевой. Если нам нужно было бы выбрать дальше, то мы бы написали "#0|#0|#0" (всё есть в справке)
После чего ставим небольшую задержку (чисто для себя)
и пишем следующий код, где указываем координаты, которые мы вычисляли ранее!
ControlClick ( "Office XP" , "" , "[CLASS:SysTreeView32; INSTANCE:1]" , "left" , 1 , 86 , 27 ) Получаем то, что видим на
Рис.3 .
Остаётся только воспользоваться функцией
Send . Что мы и сделаем.
Рис.4 Вот собственно и всё!