Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Ответить
Настройки темы
[Архив - Часть 1.2] AutoIt скрипты

Ветеран


Сообщения: 565
Благодарности: 41

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Michail77
Цитата:
чтобы при отметке установки нескольких программ они запускались поочерёдно. Как это сделать?
Очень просто ... нужно вместо Run (запуска приложения), прописать RunWait (Запуск приложения с ожиданием его завершения). Т.е просто везде где у тебя в скрипте есть Run(....) Замени на RunWait(...).

И ещё, если установка того или иного приложения, “запускает” внешние модули\приложения, то нужно определить какие именно, т.е какие процессы, или окна появляются, и в соответствии с этим делать проверку на окончание процесса установки. Если же всё обходится (заканчивается) одним процессом (не запуская внешние\дополнительные процессы\окна), то досаточно того метода который я упомянул чуть выше.

----------------------
2 ALL

Есть такая проблема - Я хочу сделать проверку на нажатие определённой клавиши, кнопки мышки, или любого другого действия со стороны пользователя. Известно что есть функция _IsPressed - Но она проверяет каждый раз ввод\нажатие одной клавиши\кнопки, а мне нужно чтобы проверялось любое вхождение при одной (или даже нескольких) проверке... я сделал это для нескольких вхождении, но предусмотреть все, мне не удалось...

Код: Выделить весь код
For $i = 01 to 91
    If _IsPressed($i, $dll) Then
        ........
    EndIf
Next
Хотелось чтобы были предусмотрены все нажатия на клавиатуре и на мышке, но, кроме одного - SHIFT (с обоих сторон).

----------------------
P.S

Переделал полностью (кроме самой главной функции от amel27) скрипт для перекодировки скриптов в целях помещения их в форуме (в разукрашенном виде )... получилось полностью автоматизировать весь процессс - теперь не нужно самому экспортировать скрипт au3 в xml формат, это сделает автоматический сам скрипт, нужно всего лишь указать файл скрипта (*.au3), и в процессе (до процесса) обработки, он будет экспортирован в xml формат - Для этого редактор SciTE должен быть в дефолтной папке AutoIt'а, т.е путь берётся относительно @AutoItExe:
Код: Выделить весь код
$SciTEPath = StringTrimRight(FileGetShortName(@AutoItExe), StringLen(StringRegExpReplace(@AutoItExe, "^.*\\", ""))) & "SciTE\SciTE.exe"
Также вместо того, чтобы открывать файл с результатом, результат выводится в гуи (в Edit поле), а также есть возможность очистить результат (не закрывая гуи), и выбрать другой скрипт для обработки... имхо, получилось довольно оригинально!

И ещё, теперь данные для последнего используемого скрипта (и файла в который будет помещён результат), вписываются в конец самого скрипта, и считываются как с файла конфигурации (*.ini), мне кажется так надёжнее. Так что компилировать скрипт нет смысла, а если есть желание, то лучше исключить из скрипта эту функцию.

Скачать архив со скриптом можно тут

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 11:39, 24-11-2006 | #491



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


2 Creat0R
БИГ СЕНКС.
И ещё вопросик.как запустить на установку файл *msi. речь идёт про касперского антивирус 6.0.300
с 5х проблем не было. run-ом всё нормально ставилось а тут....

Отправлено: 20:51, 24-11-2006 | #492


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


Michail77
Цитата:
как запустить на установку файл *msi
В начале темы это уже обсуждалось - посты #79, #80, #82, #89, #90. Если запуск будет производиться в тихом режиме, то нужно исп-ть RunWait вместо Run.

P.S. Не забываем юзать поиск по теме...

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 00:13, 25-11-2006 | #493


Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


2 Creat0R
Спасибо.
Приведи пожалуйста пример с “запускает” внешние модули\приложения...

2 Sanja Alone
Спасибо,помогло.

Отправлено: 12:41, 26-11-2006 | #494


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Michail77
Цитата:
пример с “запускает” внешние модули\приложения...
Просто имел в виду, что нужно убедиться, что запущенный тобой процесс (екзешник к примеру), не запускает другие процессы. Т.е например, ты запускаешь Setup.exe, запустил допустим так - RunWait("Setup.exe", "", @SW_HIDE), но этот установщик построен так, что на каком то этапе, он запускает какой то внутренний его процесс (заранее распоковав файлы во временный каталог), а сам закрывается, и тогда скрипт будет “считать” что запущены им процесс окончен, и не будет “ждать”, ведь ему не известно что запустился другой процесс... поэтому желательно проверить так ли это (просто запусти нужный установщик, и смотри в менеджере процессов какие дополнительные процессы запускаются), и если да, то нужно соответственно прописать определение в скрипте...

Код: Выделить весь код
RunWait("Setup.exe", "", @SW_HIDE) ;Запуск главного установщика
ProcessWait("Имя_допол._процесса", 120) ;Ожидание дополнительного процесса (120 секунд) - это если мы определили что он запускается
If ProcessExists("Имя_допол._процесса") Then ProcessWaitClose("Имя_допол._процесса") ;Если процесс запустился, то ждём его окончания (закрытия)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 16:30, 27-11-2006 | #495


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


Michail77
Creat0R
Цитата:
запускает другие процессы
В тему - посмотрите, как пришлось извратиться в скрипте установки Photoshop CS2 по причине подобных выкрутасов.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 21:47, 27-11-2006 | #496


Пользователь


Сообщения: 53
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вопрос.Можно ли сделать так чтобы в Msgbox была фоновая картинка,т.е есть примитивный код:
Msgbox (0, ".........................." &@CRLF& "............................." и т.д
Нужно чтобы была фоновая картинка а поверх неё писался бы текст как в обычом Msgbox-е
Как это сделать?

И ещё такой вопрос.Как запустить *.bat? Сделал компактный Office 2003. занимает 105мб места.
Если пишу так Run(RunWait) ("office/setup.bat") то появляется и сразу исчезает окно Dos-эмулятора.
Как сделать правильно чтобы всё работало?
Заранее спасибо.

Отправлено: 11:03, 28-11-2006 | #497


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Michail77
Цитата:
Можно ли сделать так чтобы в Msgbox была фоновая картинка
Не думаю что это возможно... для таких задачь есть гуи, в котором довольно просто можно построить тот же MsgBox, и гараздо функциональнее.

Цитата:
Как запустить *.bat?
Как обычное приложение...

Цитата:
Если пишу так Run(RunWait) ("office/setup.bat") то появляется и сразу исчезает окно Dos-эмулятора
Попробуй писать полный путь, и\или изменить рабочий каталог (FileChangeDir("Папка_батника")), ну или писать рабочий каталог во втором параметре команды Run ("Setup.bat", "путь_к_папке_батника").

Я обычно запускаю батник (хотя стараюсь выполнять его функции в самом скрипте) таким образом:

Код: Выделить весь код
RunWait(@ScriptDir & "\Batnik.bat", "", @SW_HIDE)
Или можно просто выполнить нужные команды сразу используя переменную ком. строки (cmd.exe)...

Код: Выделить весь код
Run(@ComSpec & " /c start .....", "", @SW_HIDE)
------------------------

По поводу MsgBox'ов (и не только), у меня тоже есть один вопрос...

-Возможно ли привязать MsgBox, или любое из окон вызываемое для выбора/сохранения файла/папки (FileSelectFolder к примеру), к окну гуи? т.е чтобы при вызове одного их этих окон, оно было уже как бы дочерним окном гуи, и чтобы не было доступа к родительскому окну (гуи) до тех пор пока не закроется это-дочернее окно. Знаю что для обычных, гуивских дочерних окон, можно прописать как последний параметр переменную определяющую относительность к родительскому гуи, и также нужно неитрализовать родительский гуи макросом @SW_DISABLE, но как такое же сделать с окнами вызыванными по FileSelectFolder, FileOpenDialog, FileSaveDialog или даже тот же MsgBox? для этих окон вроде нет такого параметра, который определял бы их относительность к гуи.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 12:46, 28-11-2006 | #498


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем добрый день!

Господа, вопрос, возможно, глупый, но может ли скрипт написаный с помощью AutoIt работать на компьютере к которому не подключен монитор?

Отправлено: 15:26, 30-11-2006 | #499


Аватара для qeraser

Старожил


Сообщения: 387
Благодарности: 40

Профиль | Отправить PM | Цитировать


Dentel
Будет.

Отправлено: 16:14, 30-11-2006 | #500



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход