Русское сообщество AutoIt

  • Май 20, 2012, 12:27:28 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

На форуме было сделано несколько небольших изменений...

1) Расширено поле поиска, теперь можно выбрать, искать в текущей теме, текущем разделе, по всему форуму, или с помощью Google.

2) Новым участникам форума (до 20-ти сообщении) над формой создания новой темы отображается информационный блок с некоторыми правилами и рекомендациями по созданию новой темы.

17.07.2010

Реклама

Автор Тема: [Автоматизация] Как активировать и выбрать элемент меню в ControlTreeView  (Прочитано 1106 раз)

0 Пользователей и 1 Гость смотрят эту тему.

achumagin [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 3
  • Версия AutoIt: AutoIt v3.3.6.1
    • Награды
Всем привет.
Начал изучать AutoIt, сейчас хочу написать автоматическую установку одно приложения.
В приложении, есть выбор компонент которые будут установлены. И тут у меня возникла проблема, я не могу вызвать контекстное меню элемента который будет установлен. см. скриншот
Итак.
Я выбираю элемент в дереве:
ControlTreeView($windowId, "", $h_tree, "Select", "#2")

а как вызвать контекстное меню у этого элемента не знаю :(.
Подскажите как действовать?
Заранее спасибо.


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться




  Записан

axlwor [?]

Тебе нужно приложение установить или к компоненте обратиться?
Для первого есть у каждого инсталятора скрипты установки и тихая установка. Это будет какбэ правильней использовать встроенные средства. Для второго ждем спецов по гуям




  Записан

achumagin [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 3
  • Версия AutoIt: AutoIt v3.3.6.1
    • Награды
Тебе нужно приложение установить или к компоненте обратиться?
Для первого есть у каждого инсталятора скрипты установки и тихая установка. Это будет какбэ правильней использовать встроенные средства. Для второго ждем спецов по гуям

Нужно обратиться к элементу.
У "моего" инсталлятора нет тихой установки.




  Записан

Garrett [?]

  • Локальный модератор
  • *
  • *****
  • Репутация: 548
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 2056
  • Версия AutoIt: 3.3.6.1
    • Награды
achumagin
Вот предлагаю вам альтернативный вариант.
Покажу на примере MSOffice (просто он был под рукой)

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


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Октябрь 04, 2010, 02:05:30 от Garrett »



  Записан

--------------------------------------------------------------------------------------------------
Все стандарты Document Object Model HTML
--------------------------------------------------------------------------------------------------
«Жизнь – цепь, а мелочи в ней – звенья. Нельзя звену не придавать значения!»

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1425
  • Online Online
  • Пол: Мужской
  • Сообщений: 3814
  • Версия AutoIt: 3.3.6.1 - 3.3.9.4
    • Награды

achumagin [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 3
  • Версия AutoIt: AutoIt v3.3.6.1
    • Награды
achumagin
Здесь посмотрите: SysTreeView32 - как с этим работать?

О, то что нужно!!!
спасибо.


Добавлено: Октябрь 04, 2010, 16:28:31
Garrett, спасибо..интересный подход. Уверен что мне он пригодиться :)




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
[Сеть, интернет] как выбрать элемент внутри формы на сайте
AutoIt для новичков
dimontag 1 1170 Последний ответ Ноябрь 25, 2009, 19:08:33
от dimontag
Выбрать элемент в ComboBox созданный Delphi
AutoIt для новичков
Medic84 2 1364 Последний ответ Октябрь 24, 2010, 23:57:58
от Medic84
Как выбрать элемент раскрывающегося дерева ?
AutoIt для новичков
vaf 0 396 Последний ответ Декабрь 07, 2010, 20:27:38
от vaf
[Автоматизация] Как выбрать значение в дереве в Internet Explorer
AutoIt для новичков
vaf 7 1271 Последний ответ Декабрь 09, 2010, 12:55:49
от madmasles
[Автоматизация] Отметить элемент в SysTreeView32?
AutoIt для новичков
schennoy 5 769 Последний ответ Август 18, 2011, 08:46:02
от Futurebear
Выбрать определенный пункт меню в программе AcrobatReader 8 Rus
AutoIt для новичков
frazier1979 0 262 Последний ответ Ноябрь 08, 2011, 11:36:17
от frazier1979
[Сеть, интернет] Как активировать неактивную вкладку Google Chrome?
Автоматизация IE и Web-интерфейса
Leanna 2 388 Последний ответ Январь 27, 2012, 23:55:25
от Leanna
[Окна, Диалоги] Как выбрать пункты меню, если в наименовании меню используется табуляция.
AutoIt для новичков
glorycpsu 4 271 Последний ответ Февраль 17, 2012, 12:26:17
от glorycpsu
Как активировать два окна с одинаковым заголовком и классом
AutoIt для новичков
at 8 415 Последний ответ Февраль 22, 2012, 16:49:54
от at
Как выбрать пункт меню в трее, выпадающий по нажатию правой кнопкой на значке?
AutoIt для новичков
Vampire 1 173 Последний ответ Февраль 26, 2012, 21:54:13
от madmasles


Реклама

* Последние сообщения на форуме
post Re: Защита исходного кода программы
[AutoIt для новичков] Ganibal95 Сегодня в 12:21:05
post Re: Проблема с циклами While
[AutoIt для новичков] Yashied Сегодня в 12:14:25
post Сглаживание рывков при передачи новых координат игрока по TCP/IP
[Общение] Ganibal95 Сегодня в 12:10:37
post Перенесено: Уроки программирования и автоматизации посредством AutoIt для чайников
[AutoIt для новичков] Yashied Сегодня в 12:09:28
post Re: Защита исходного кода программы
[AutoIt для новичков] iamOmg Сегодня в 12:09:05
post Проблема с циклами While
[AutoIt для новичков] Andeangl Сегодня в 11:03:15
post Уроки программирования и автоматизации посредством AutoIt для чайников
[Инструменты и помощь по AutoIt] aak Сегодня в 09:41:45
post Re: Как спарсить ссылку внутри тега "td" определенного класса
[Регулярные выражения и прочее] eropov Сегодня в 05:27:00
post Re: Ограничение доступа(блокировка) к компьютеру если не вставлен носитель с ключом
[AutoIt для новичков] Pat4005 Сегодня в 01:02:55
post Re: Развитие русской справки
[Инструменты и помощь по AutoIt] CreatoR Сегодня в 00:02:03

* Пользователи онлайн
  • Dot Гостей: 101
  • Dot Скрыт: 1
  • Dot Пользователей: 28
  • Dot Пользователи Online: