[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Ответить
 • Просмотры: 20
Аватара пользователя
Maza Faka

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Maza Faka »

Народ, подскажите , как в установщике галочку поставить . Что надо прописать?

Вот код :

Run("IE8-WindowsXP-x86-RU-mui.exe")

WinWaitActive ("Установка Internet Explorer")

Send ("{ENTER}")

Send ("{ENTER}")

ControlClick('Установка Internet Explorer','','&Нет, перезагрузить компьютер позже >') -????
Аватара пользователя
Иск

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Иск »

Цитата semiono:



что не так?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Изображение

WinWaitActive() будет ждать окно, пока оно не активируется, но ведь если мы прячем окно, как оно будет активироваться? скрипт будет вечно ждать это окно.




Цитата Painkiller:



как в установщике галочку поставить . Что надо прописать?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Трудно сказать, не зная заранее данных окна и его элементов...

Можно попробовать так:





Код:

Код: Выделить всё

ControlCommand('Установка Internet Explorer', '', 'CheckBox1', 'Check')
Аватара пользователя
Иск

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Иск »

Painkiller, можно попробовать через внутренние идентификаторы окна (но как сказал Креатор мы без данных не поможем), читайте справку..

а самый простой способ - нажмите Таб несколько раз, пока не дойдёте до выделения места с галкой, потом нажмите Пробел и дальше Таб до выделения кнопки, куда нажимаете Ввод..



WinWaitActive ("Установка Internet Explorer")

Send ("{ENTER}")

Send ("{ENTER}")



; если здесь нужно нажимать галку, то следущие строки находятся здесь, если нет - перенсите их

Send ("{TAB}")

Send ("{SPACE}")



ControlClick('Установка Internet Explorer','','&Нет, перезагрузить компьютер позже >') -????
Аватара пользователя
Иск

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Иск »

Наверное я плохо объяснил и потом еще больше все запутал... в общем я решил эту проблему через пиксельсерч. По крайней мере изменения я теперь отслеживаю относительно цвета. Осталось только прописать что бы он в случае изменений делал одно, а если изменений нет- другое Изображение Всем спасибо за помощь. Автоит классная вещь! Изображение



На офф форуме там в основном только всякие боты к играм рассматриваются, пару идей я взял оттуда, но все равно пришлось по-другому все делать - у меня цвета не фиксированые были...
Аватара пользователя
Maza Faka

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Maza Faka »

Цитата Painkiller:



Галку надо поставить "Нет, перезагрузить компьютер позже".
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




В комплекте с AutoIt'ом идёт утилита, называется «
AutoIt Window Info Tool
», с её помощью можно посмотреть класс элемента (в данном случае чекбокса/птички), и использовать его при вызове ControlClick().
Аватара пользователя
no_sound

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение no_sound »

Помогите пож еще раз...наверное замучил уже...Я считываю 4 раза изменение полоски состояния, получаю 4 значения $res. Допустим, $res1=207, $res2=208, $res3=355, $res4=355. Теперь мне надо что бы в программа сравнила их по критериям, которые я задал. Т.к. Критериев для обработки много, я путаюсь и не знаю что с ними делать Изображение . Пробовал через IF -Then, как показано ниже, но выдает ошибку



If $res1$res2, $res2=$res4 Then

If $res1$res2^ ERROR



В связке If-Then-ElseIf таже ошибка. Может параметры не правильно заданы и нельзя так их вводить, тоесть через запятую?

Просто сразу после того как первый IF не соответствует действительности вылетает ошибка. Как сделать что бы программа из предложеных условий выбирала нужное и действовала согласно результату? Упростить до двух считываний изменений и потом сравнения их нельзя, надо что бы именно 4 сравнивало. Что посоветуете?...



if $res1=$res4 Then

Send("1")

EndIf

If $res1$res2, $res2=$res4 Then

Send("1")

EndIf

If $res1$res2, $res2$res3, $res3=$res4 Then

Send("1")

EndIf

If $res1=$res2, $res2$res3, $res3=$res4 Then

Send("1")

EndIf

If $res1=$res3, $res3$res4 Then

Send("5")

EndIf

If $res1$res2, $res2$res3, $res3$res4 Then

Send("5")

EndIf

If $res1$res2, $res2=$res3, $res3$res4 Then

Send("5")

EndIf





Если пишу так:



ElseIf $res1=$res2$res3=$res4 Then

Send("5")



то с ошибкой не выкидывает, но нажимает всегда "1", даже если видно что полоско двигается вперед и назад...



Попробовал задать по-другому :



ElseIf $res1=$res2
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Цитата Painkiller:



всё равно не хочет переключать на другой RadioButton. Чё делать?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Попробовать так:





Код:

Код: Выделить всё

ControlCommand('Установка Internet Explorer', '', 'Button3', 'Check')
Аватара пользователя
Иск

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Иск »

Всёравно не пашет. Ладно я убью процесс просто . Только как сделать, чтобы скрип подождал некоторое время?
Аватара пользователя
SvetlanaK

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение SvetlanaK »

Добрый день! а не подскажет ли кто, можно ли в АИ отслеживать время? и подобно виндусовому планировщику задач запускать нужные функции по назначенному времени?
Ответить

Вернуться в «AutoIt»