Помощь - Поиск - Пользователи - Календарь
Полная версия: Автоматическая установка программы
Форум «Всё о Паскале» > Системы, Сети, Технологии > ОС и ПО
GLuk
Доброго времени суток.

Где бы найти прогу для установки любой программы в автоматическом режиме.
Т.е. как я себе это представляю:
Запускаем ТУ САМУЮ прогу, а параллельно нужную прогу, затем ТА САМАЯ прога запоминает нажатия клавиш и пишет на диск. После всего этого, запускаем ТУ САМУЮ прогу и она посылает сообщения в окно нужной проги...

типа того blink.gif
APAL
AutoIT
создание макросов

полезная вещь

http://www.hiddensoft.com/autoit3/

Пытался прикрепить сюда CHM-файл помощи и описания на русском - НЕ ПОЛУЧИЛОСЬ sad.gif
Выкладываю "введение":

Цитата
Введение
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя - симуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши и управления окнами и его визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.

По замыслу AutoIt предполагался быть средством "тиражирования конфигураций" ПК. Но с момента создания третьей версии его возможности могут быть использованы для реализации "кухни" автоматизации - написания сценариев решения различных задач, в том числе и для администрирования системы.

Новая версия AutoIt умеет:

Запускать на выполнение Windows и DOS программы
Симулировать нажатия комбинаций клавиатуры (поддерживается основная масса раскладок клавиатуры)
Симулировать перемещения указателя мыши и нажатия на ее кнопки
Перемещать, менять размер и управлять параметрами отображения окон
Непосредственно взаимодействовать с "управляющими элементами" (controls) окна (получать/менять надпись, перемещать, отключать, и т.п. действия)
Работать с буфером обмена для пересылки его текстового содержания
Читать, менять и создавать ключи и значения реестра
Новая версия AutoIt3 распознает общепринятые конструкции и имеет стандартный синтаксис, напоминающий синтаксис VBScript и Kixtart, что позволяет работать со сложными выражениями, реализовывать собственные функции, проводить циклическое и условное выполнение, а также иметь дело со всем тем, что давно уже известно "сценаристам" и бот-хакерам (приставка получается от сокращения английского слова robot).



Как и раньше AutoIt имеет небольшой размер интерпретатора (~80KB), который является самостоятельным и НЕ ССЫЛАЕТСЯ на другие, кроме системных .dll библиотек. Он намеренно не делает самостоятельных или скрытых записей в реестре, кроме обязательных и составляющих процесс полной установки. Сценарии могут быть скомпилированы в независимые выполняемые файлы с помощью поставляемого компилятора сценариев - Aut2Exe.

Вслед за интерпретатором будут модернизироваться ActiveX и DLL версия AutoIt, которые переименованы в AutoItX3 - в отличие от ранее реализованных для v2, это будет объединенный композит (COM и стандартная DLL библиотека в одном модуле).  AutoItX3 позволит добавлять уникальные возможности AutoIt в написанные Вами сценарии на других языках программирования! (AutoItX3 все еще тестируется, но этот файл можно загрузить, нажимая на эту ссылку).



И, наконец, самым знаменательным является тот факт, что AutoIt остался БЕСПЛАТНЫМ. Однако, если Вы имеете возможность поддержать этот проект ценой собственного времени, деньгами или иными усилиями, то все виды пожертвований принимаются на домашней странице AutoIt.



Новости
v3 имеет совершенно иной синтаксис, отличный от v2.64, поэтому все старые сценарии не поддерживаются новой версией. However, v2.64 will continue to be supported and downloadable.  Both AutoIt v3 and v2.64 can  be installed on the same machine together without any problems and you can keep your old scripts intact.  v2 uses the .aut extension and v3 uses .au3. There is rarely a need to rewrite a working v2.64 script for v3. 

v3 поддерживает ту же самую концепцию, что и прежние версии, касающуюся заголовка и текста окна, а также симуляции клавиатурных нажатий и операций с мышью, которая имеет ряд новых возможностей:



Управляющие элементы окна

Directly get information on and interact with edit boxes, check boxes, list boxes, combos, buttons, status bars without the risk of keystrokes getting lost.  Even work with controls in windows that aren't active!



Модернизация синтаксиса языка

"Proper" numbers, unlimited-length strings, complex expressions, if statements, select, while loops, for loops, do loops, functions, arrays, excellent string handling (over 25 functions!) - the list goes on.  Everything you need to make your automation routines as painless as possible.  Yes, this is a GUI automation language but the syntax in v3 is powerful enough for general purpose scripting.  Old versions of AutoIt were often referred to as "not a proper language".  Not any more.



Симуляция устройств ввода данных

Much time has been spent optimizing the keystroke and mouse simulation functions to be as accurate as possible on all current operating systems.  The mouse functions also look more "human" in this version and can even be used to create slick demo scripts.  All the mouse and keyboard routines are highly configurable both in terms of simulation "speed" and functionality.



Управление окнами

In addition to the "title/text" v2 way of accessing windows you can also access windows by their class names and handles. As usual you can expect to move, hide, show, resize, activate, close and pretty much do what you want with windows.



И многое, многое другое.
GLuk
Спасибо, сейчас проверим...
APAL
Вот еще один софт. Он попроще, но удобнее в некоторых отношениях.

Ghost Automizer 2.8
http://dimonius.yiff.ru/PROG/ghost.zip
http://dimonius.da.ru
GLuk
Действительно круто!! :D

Дай бохк здоровьичка.
А ты сам ей пользовался?
Проблема в следующем: Вызываю на выполнение прогу, затем посылаю комбинацию управляющих нажатий. Все прекрасно работает, но только при установке задержки (Sleep(3000)) между вызовом проги и посылки нажатий. Никак нельзя сделать так, чтобы скрипт ждал активизации проги, т.е. действительного вывода окна на экран. А то все происходит слишком быстро и клавишу ввод он нажимает до запуска... blink.gif

Вообще юзаю это дело исключительно для автоматизации установки типовых программ. А в перспективе думаю создать CD с дистрибом винды на автомате и софтом (для огромного числа неумных товарищей (моих), постоянно ноющих, что у них не устанавливается Windows XP)
APAL
Использую.

для задержки используй WinWaitActive
т.е. идет ожидание появления окна с заданным заголовком.
APAL
Пример:
Код

SplashTextOn ( 'AutoIt', 'Выполняется скрипт' & @LF & @LF & 'Ждите...', 300, 100 )

AutoItSetOption ( "SendKeyDelay", 10 )

Run ( 'c:\winnt\system32\cmd.exe' )
WinwaitActive('c:\winnt\system32\cmd.exe','',1)
Send ( 'ping msktermserver -t{enter}' )
$CurrentTitle = WinGetTitle( '', '' )
WinMove ( $CurrentTitle, '', 0, 0, 340, 300 )

Run ( 'c:\winnt\system32\cmd.exe' )
WinwaitActive('c:\winnt\system32\cmd.exe','',1)
Send ( 'ping megaserver -t{enter}' )
$CurrentTitle = WinGetTitle( '', '' )
WinMove ( $CurrentTitle, '', 341, 0, 340, 300 )

Run ( 'c:\winnt\system32\cmd.exe' )
WinwaitActive('c:\winnt\system32\cmd.exe','',1)
Send ( 'ping termserver -t{enter}' )
$CurrentTitle = WinGetTitle( '', '' )
WinMove ( $CurrentTitle, '', 682, 0, 340, 300 )

Run ( 'c:\winnt\system32\cmd.exe' )
WinwaitActive('c:\winnt\system32\cmd.exe','',1)
Send ( 'ping gateserver -t{enter}' )
$CurrentTitle = WinGetTitle( '', '' )
WinMove ( $CurrentTitle, '', 0, 301, 512, 300 )

Run ( 'c:\winnt\system32\cmd.exe' )
WinwaitActive('c:\winnt\system32\cmd.exe','',1)
Send ( 'ping mailserver -t{enter}' )
$CurrentTitle = WinGetTitle( '', '' )
WinMove ( $CurrentTitle, '', 513, 301, 512, 300 )
SplashOff ( )
Exit
GLuk
Дык ведь WinWaitActive работает только для уникального заголовка, т.е. если у меня выскакивают два разных окна с одинаковым заголовком?? Что делать в этом случае? Без задержек ессесно, впрочем может быть заюзать WinWaitNotActive типа того?
APAL
Попробуй поюзать AU3_Spy.exe, который идет в комплекте.
В описании сказано, что большинство окон по идентификатору уникальные...

Кстати, если нужно описание на русском - скажи куда выслать.
GLuk
Сидит карабас и бормочет: "Это просто праздник какой-то!!!"

Все эти глупые вопросы до этого просто от нетерпения! smile.gif
Все понял, во всем разобрался. smile.gif
А русский хелпак тама по ссылочке можно скачать, спасибо, не надо.
Что ж я раньше-то не подумал!!?? blink.gif
Это же ТАК УДОБНО.
Насчет последней проблемы; дык окромя заголовка можно указать и текст в окне.
Спасибо!
GLuk
И ишшо;
Как вызвать окно "Запуск программы", т.е. Run?
Точнее как послать нажатие Win+R??
BlackShadow
у розы что-то было такое... Робот что-ли...
Atos
Цитата(GLuk @ 6.10.04 8:38)
А в перспективе думаю создать CD с дистрибом винды на автомате и софтом (для огромного числа неумных товарищей (моих), постоянно ноющих, что у них не устанавливается Windows XP)

Полезное дело!! :p9:
Мне это близко, т. к. тоже всё-таки скоро XPень начну устанавливать (болванку в любой момент могу взять), и я тоже не очень умный в отношении компа.

А если ещё учесть, какие у меня обычно бывают обломы с установкой программ, то, скорее всего, скоро буду залезать сюда и долго и тоскливо ныть, чтобы мне что-нибудь объяснили :p2: ;)
trminator
nnCron еще есть... по крайней мере, на кнопки в программе обновения антивируса он жамкал, само окно при этом скрывая (хочется добавить: и принося горячий кофе после завершения обновления...)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.