|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Не срабатывает ControlClick |
|
|
Не срабатывает ControlClick
|
|
Старожил Сообщения: 255 |
Добрый день. Есть желание создать скрипт, который будет нажимать кнопки и отмечать галочки при установке некоторой программы. Рабочая его часть выглядит следующим образом:
Скрытый текст
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.2.0
Author: m3741
Script Function:
Installs SpywareBlaster 3.5.1 since the silent installation function was
removed in this version. Thanks to JavaCool for making this program good
and free!
#ce ----------------------------------------------------------------------------
AutoItSetOption("MouseCoordMode", 0)
; Start the install
Run("spywareblastersetup55.exe")
WinWaitActive("Setup - SpywareBlaster")
Send("!n")
WinWaitActive("Setup - SpywareBlaster", "License Agreement")
Send("!a")
Send("!n")
WinWaitActive("Setup - SpywareBlaster", "Select Destination Location")
Send("!n")
WinWaitActive("Setup - SpywareBlaster", "Ready to Install")
Send("!i")
WinWaitActive("Setup - SpywareBlaster", "Completing the SpywareBlaster Setup Wizard")
Send("!f")
; Installation is complete. Finish up the install.
WinWaitActive("SpywareBlaster Tutorial")
Sleep(4000) ; Ждём, пока на кнопке Next бежит таймер
ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:1]", "Check","")
Send("{ENTER}")
ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:7]", "Check","")
Итогом, является появление окна: Здесь нужно отметить нижний чекбокс. Что я и пытаюсь сделать командой: ControlCommand("SpywareBlaster Tutorial","Frame1","[CLASS:ThunderRT6UserControlDC; INSTANCE:7]", "Check","")
Здесь не ставится галочка ни одной из кнопок, только мышкой. То есть чекбокс оно выделяет, но галочку не ставит. Подскажите пожалуйста, что я делаю не так? Спасибо. |
|
|
Отправлено: 16:08, 23-05-2016 |
|
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 17:51, 23-05-2016 | #2 |
|
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать Пробовал сначала так, тоже не выходило. В итоге я всё равно отказался от AutoIt с этой программой, т.к. там дурацкая система и поиск надо выполнять по картинке, а как это сделать по простому в AutoIt я не нашёл. Спасибо.
|
|
Отправлено: 21:25, 23-05-2016 | #3 |
|
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать Что-то не хотят мои скрипты дружить с этой командой, или я не понимаю, как она работает. Вот пример скрипта:
Скрытый текст
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.2
Author: P1zdat1y
Script Function:
Автоматический запуск скрытого диска и его расшаривание
#ce ----------------------------------------------------------------------------
; Фокус на Рабочий Стол
WinMinimizeAll()
WinActivate ( 'Program Manager')
ControlClick ( 'Program Manager', '', '', 'main', 1, 1392, 130)
Send ('{ENTER}')
По координатам 1392, 130 находится ярлык. В системе включено, чтобы ярлыки открывались по одинарному клику. Но это не важно, так как я пробовал ставить и 2 клика и 20 и 200. Результат всегда один и тот же — ярлык просто выделяется мышью и далее приходится посылать нажатие клавиши Enter, чтобы его нажать. Подскажите пожалуйста, что я делаю не так? Спасибо. |
|
Отправлено: 13:27, 25-05-2016 | #4 |
|
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать sNc-DAntES
По первому вопросу: не пробовали послать нажатие пробела ? С клавиатуры пробел тут вроде должен срабатывать. Вы не пробовали подружиться с функциями Run() и ShellExecute() со строкой запуска из свойств ярлыка? Вторая должна сработать даже так: |
|
|
------- Отправлено: 01:50, 27-05-2016 | #5 |
|
Старожил Сообщения: 255
|
Профиль | Отправить PM | Цитировать oz84, спасибо. Я только осваиваю этот скриптовый язык. Естественно, туплю. По кнопкам и галочкам нажимается отлично. Не хочет жаться там, где вместо кнопки картинка или другая нестандартная ерунда.
|
|
Отправлено: 18:08, 30-05-2016 | #6 |
|
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать sNc-DAntES, посмотрите UIAutomate, не подойдёт для таких случаев?
|
|
------- Отправлено: 12:10, 01-07-2016 | #7 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| ControlClick. Куда кликать? | FrankiAm | AutoIt | 3 | 28-08-2014 23:49 | |
| ControlClick в Flash приложении. | FrankiAm | AutoIt | 0 | 05-11-2010 22:19 | |
| Альтернатива ControlClick-у | Freez | AutoIt | 0 | 15-12-2009 17:54 | |
| ControlClick в меню | Cuba | AutoIt | 8 | 05-05-2009 01:56 | |
| Помогите с ControlClick | ancoder | Программное обеспечение Windows | 2 | 29-04-2008 12:58 | |
|