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

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

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


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


Конфигурация

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


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







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


Руководство к действию по работе c AutoIt.


Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).
Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).



Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Googler


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

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


Цитата Creat0R:
Как можно узнать заголовок окна сохранения?
интересно, зачем?... это внешнее окно или AutoIT-овское?... логично предположить, что в comdlg32.dll

ADD: DLL тоже не гарантия - если на английский WIN накатить MUI (к примеру - русский), то текст заголовка будет взят из файла \WINDOWS\MUI\FallBack\0419\comdlg32.dll.mui

Последний раз редактировалось amel27, 08-08-2007 в 07:10.


Отправлено: 06:50, 08-08-2007 | #251



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

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


Аватара для spooll

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


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

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


Maza Faka,



Я конечно подозревал, но всеравно запустил скрипт с
Цитата Maza Faka:
BlockInput(1)
естественно, при любой ошибке или просто косяке (у меня например почему-то не прошло окно выбора каталога установки) у меня все заблокировалось и пришлось жать ресет ))
Как сделать чтобы допустим при заминки или просто не выполнения скрипта, блок снимался?

Отправлено: 10:48, 08-08-2007 | #252


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


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

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


spooll
Цитата:
Как сделать чтобы допустим при заминки или просто не выполнения скрипта, блок снимался?
Нужно чтобы скрипт достиг конца и выполнил команду BlockInput(0).
Другой вопрос, почему этого не происходит? - Причин может быть несколько, вот одна из них: Если в WinWaitActive() или WinWait() время ожидания не указано или указан 0, то в случае ошибки, ожидание будет бесконечным.

Отправлено: 12:40, 08-08-2007 | #253


Аватара для spooll

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


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

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


То есть если имеем
Код: Выделить весь код
BlockInput(1)
Run("\\192.168.11.198\Distrib\1s_install\B770023\Disk1\setup.exe")
WinWaitActive("Добро пожаловать", "Добро пожаловать в программу установки")
Send("{ENTER}")
WinWaitActive("Выбор варианта установки", "Выберите вариант установки программы")
Send("{ENTER}")
BlockInput(0)
То если к WinWaitActive добавить 10сек к примеру, то скрипт останавливится в случае простоя?

Отправлено: 13:03, 08-08-2007 | #254


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


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

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


spooll
Тогда WinWaitActive подождёт 10 секунд и затем перейдёт к следующей команде , а если WinWaitActive дождалась активного окна раньше 10 секунд, то переход произойдёт сражу же.

Добавлено:

Например можно заключит всё это в функцию, чтобы в случае ошибки выйти из неё.
Код: Выделить весь код
test()

Func test()
	BlockInput(1)
	Run("\\192.168.11.198\Distrib\1s_install\B770023\Disk1\setup.exe")
	$ret=WinWaitActive("Добро пожаловать", "Добро пожаловать в программу установки",10)
	If $ret Then
		Send("{ENTER}")
	Else
		BlockInput(0)
		Return ; Выход из функции
	EndIf
	$ret=WinWaitActive("Выбор варианта установки", "Выберите вариант установки программы",10)
	If $ret Then
		Send("{ENTER}")
	Else
		BlockInput(0)
		Return ; Выход из функции
	EndIf
EndFunc

Последний раз редактировалось Diamond, 08-08-2007 в 13:35.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:12, 08-08-2007 | #255


Аватара для Maza Faka

Ветеран


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

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


spooll,
Цитата spooll:
Как сделать чтобы допустим при заминки или просто не выполнения скрипта, блок снимался?
Волшебное сочетание клавиш: Ctrl + Alt + Delete :-)

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 14:28, 08-08-2007 | #256


Аватара для spooll

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


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

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


Diamond, спасибо за пример, переделал весь скрипт, немогу протестить как он поведет в случае ошибки, но все прошло гладко. Надеюсь завтра с утра мне не посыпятся звонки
И еще, я так понял, т.к AutoIT работает с активными окнами, то тихую установку без известия пользователя не сделать!Так ведь? Типа как параметр /quiet у msi пакетов?!

Отправлено: 14:42, 08-08-2007 | #257


Аватара для Maza Faka

Ветеран


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

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


Код: Выделить весь код
Case $msg = $playlist
       $m3u = FileOpenDialog("Add playlist", "", "Playlist (*.m3u)", 1)
       If @error Then ContinueLoop
	  _FileReadToArray($m3u, $m3u_array)
              $sound = _SoundOpen($m3u_array[1])
              _SoundPlay($sound)
Если в плейлисте прописаны пути к mp3-файлам, которые находятся в каталоге откуда запускается скрипт, то файлы проигрываются, если прописаны пути к mp3-файлам которые находятся в другом каталоге, то не проигрываются, как я понял, игнорируются пути, почему?

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 15:03, 08-08-2007 | #258


Аватара для spooll

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


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

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


Блин, чегойто я натворил непонятно, только все работало...
PHP код: Выделить весь код

$ret=WinWaitActive("Создание нового каталога"20)

    If 
$ret Then
        Send
("{ENTER}")
    Else
        
BlockInput(0)
        Return ; 
Выход из функции
    
EndIf
$ret=WinWaitActive("Выбор программной группы""&Папки с Программами:"10)
    If 
$ret Then
        Send
("{ENTER}")
    Else
        
BlockInput(0)
        Return ; 
Выход из функции
    
EndIf 

Когда появляется окно с "Выбор программной группы", то enter не жмется и блок не снимается, как-будто он жмет enter раньше окна, но судя по скрипту такого быть не может =( Что можно сделать? ControlClick и ControlSend пробовал!

PS.Попробовал навсякий на нескольких компах, прежде чем установить скрипт в автозапуск, оказалось что на разных машинах, скриптзастревает в разных местах, хотя у кого-то проходит сразу!, также не отключается блокировка и т.д.Везде поставил время WinWaitActive 20, но всеравно виснет.Подскажите, очень нужно !

Последний раз редактировалось spooll, 08-08-2007 в 16:40.


Отправлено: 16:15, 08-08-2007 | #259


Старожил


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

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


Некоторое время назад здесь приводился скрипт, для отключения монитора. Я его запустил, да только при любом шевелении мышкой или клавиатурой монитор включается! Как сделать так, чтобы монитор включался ТОЛЬКО по горячей клавише. Хочется управлять винампом горячими клавишами клавиатуры не включая монитор.

Отправлено: 16:40, 08-08-2007 | #260



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

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

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




 
Переход