Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [решено] Web Money

Ответить
Настройки темы
[решено] Web Money

Аватара для desperate

Старожил


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

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


Изменения
Автор: Sanja Alone
Дата: 13-07-2006
Всем привет...решил на днях сделать тихую установку Web Money Keeper Classic 3.0.0.0 но ничего у меня не получилось. Пытался написать AutoIT скрипт, но тоже облом, т.к. почему - то в окнах с лицензионнными соглашениями напрочь блокируеться клавиатура, и в сязи с этим не получаеться перейти и поставить галочку о согласии... а с перемещением мыши я пока не научился работать, чтобы подвести ее и нажать в нужном месте...
буду очень рад выслушать ваши предложения и соображения по этому поводу



13-Jul-06

Решение:

AutoIt скрипт (тестировался на версии WebMoney Keeper Classic 3.0.0.2 Standard)

-------
Ты рожден для того, чтобы быть виноватым
Lipetsk *nix Association

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

Отправлено: 19:09, 27-06-2006

 

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

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


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

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


desperate
Цитата:
ты бы не мог объяснить конкретно откуда идет начало координат
Еще раз посмотри FAQ. Я ведь не русский мануал переписывал, а пытался рассмотреть неоднозначные моменты. Ответ на твой вопрос - это пункт 6 раздела "Вввод данных / работа с элементами управления".

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


Отправлено: 01:46, 30-06-2006 | #11



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

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


Аватара для desperate

Старожил


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

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


мне все - таки удалось побороть проблему отказа клавы, за что спасибо Sanja Alone. Только все равно столкнулся с одной проблемой.
В самом последнем окне, надо убрать галку на запуск программы и нажать кнопку готово. этого у меня не вышло. Привожу пример скрипта
Код: Выделить весь код
#cs
----------------------
объявление переменных
----------------------
$Title - заголовок окна установщика
$Title2 - заголовок системного окна
$file - имя инсталляционного файла
----------------------
#ce
Global $Title='Установка WebMoney Keeper Classic 3.0.0.0', $Title2='Предупреждение системы безопасности', $file='wm2.exe'
Run ( @ScriptDir & '\' & $file )
WinWaitActive ( $Title, 'Добро пожаловать!' )
Send ( '{ENTER}' )
ControlCommand($Title,"1. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
ControlCommand("2. Установка WebMoney Keeper Classic 3.0.0.0","2. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
ControlCommand($Title,"3. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
ControlCommand($Title,"4. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
ControlCommand($Title,"5. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
ControlCommand($Title,"6. Вы принимаете ВСЕ условия этого соглашения?","Да, я согласен со всеми условиями данного соглашения","Check",'')
Send ( '{ENTER}' )
;Установка по в директорию по умолчанию
Send ( '{ENTER}' )
;Установка в программную группу по-умолчанию
Send ( '{ENTER}' )
WinWaitActive ( $Title, 'Внимание!' )
Send ( '{ENTER}' )
WinWaitActive ( $Title2, 'WebMoney Transfer Root Authority' )
Send ( '{TAB}' )
Send ( '{ENTER}' )
WinWaitActive ( $Title2, 'WebMoney Transfer Root Authority' )
Send ( '{TAB}' )
Send ( '{ENTER}' )
WinWaitActive ( $Title2, 'Готовится установка сертификата от центра сертификации (ЦС) в этом домене:' )
Send ( '{ENTER}' )
;Отменяем запуск программы, по окнчании установки
ControlCommand($Title,"Установка завершена","Запустить WebMoney Keeper Classic 3.0.0.0","UnCheck",'')
;Давим на кнопку ГОТОВО
WinWaitActive ( $Title, 'Установка завершена' )
Send ( '{ENTER}' )

Отправлено: 16:46, 30-06-2006 | #12


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

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


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

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


desperate
Цитата:
надо убрать галку на запуск программы и нажать кнопку готово
Скорее всего, в данной ситуации поможет ф-ция Send('{SPACE}'). Просто нужно при необходимости предварительно подвести указатель (по ум. он уже может быть на данном эл-те) к этому проблемному чекбоксу. Тут поможет все та же ф-ция Send: Send('{UP}'), Send('{DOWN}'), Send('{TAB}'), Send('^{TAB}') и т.п. - посмотри что именно нужно "послать" окну для перехода к требуемому эл-ту управления.

Т.е., решение проблемы выглядит примерно так:
Код: Выделить весь код
;1. подвести указатель к галке постустановочного запуска приложения
Send('{что-то}')
;2. снять галку на запуск приложения
Send('{SPACE}')
;3. нажать "Готово"
Send('{ENTER}')
P.S. Ес-но, все эти сенды будут отправлены активному окну, след-но, для гарантии активности нужного окна еще не помешало бы предварительно убедиться в этом:
Код: Выделить весь код
WinActivate('Окно','Текст')
WinWaitActive('Окно','Текст')

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


Последний раз редактировалось Sanja Alone, 01-07-2006 в 03:59.


Отправлено: 03:38, 01-07-2006 | #13


Аватара для desperate

Старожил


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

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


Sanja Alone
изменил я концовку по твоему совету, но все равно ничего не выхоит:
Код: Выделить весь код
WinActive ( $Title, 'Установка завершена' )
WinWaitActive ( $Title, 'Установка завершена' )
Send ('{TAB}')
Send ('{SPACE}')
Send ( '{ENTER}' )

-------
Ты рожден для того, чтобы быть виноватым
Lipetsk *nix Association


Отправлено: 08:32, 01-07-2006 | #14


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

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


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

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


desperate
Цитата:
;Отменяем запуск программы, по окнчании установки
ControlCommand($Title,"Установка завершена","Запустить WebMoney Keeper Classic 3.0.0.0","UnCheck",'')
;Давим на кнопку ГОТОВО
WinWaitActive ( $Title, 'Установка завершена' )
Send ( '{ENTER}' )
Не посмотрел я на твой скрипт, а напрасно...
Там две ошибки:
  1. Ф-ция WinWaitActive должна быть перед ControlCommand
  2. Ошибочный третий аргумент ф-ции ControlCommand - это ControlID (идентификатор эл-та управления). Что может выступать в кач-ве такого идентификатора - см. пункт 7 раздела "Вввод данных / работа с элементами управления" уже упоминавшегося мной FAQ. При этом, обратиться к эл-ту по текстовому значению можно только если в этом тексте присутствует знак "амперсанд" (&), иначе - фигушки (твой случай). Извиняюсь за дезу, по тексту, ес-но, обратиться можно, но лучше это делать только при наличии амперсанда, т.к. это гарантирует уникальность данной строки (ибо след. за амперсандом символ - это горячая клавиша данного эл-та управления, "послать" к-рую окну можно с пом. ф-ции Send('!символ_после_амперсанда') ). В противном же случае, возможны траблы, т.к. подобный текст может быть еще и в каком-то другом эл-те данного окна.
P.S. Да и сейчас ты ошибся - в первой строке должно быть не WinActive( $Title, 'Установка завершена' ), а WinActivate( $Title, 'Установка завершена' ).

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


Последний раз редактировалось Sanja Alone, 05-07-2006 в 16:06. Причина: уточнение


Отправлено: 11:13, 01-07-2006 | #15


Аватара для desperate

Старожил


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

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


Sanja Alone
исправил все твои замечания и пожелания и получил два способоа
ПЕРВЫЙ:
Код: Выделить весь код
WinActivate( $Title, '' )
WinWaitActive ( $Title, '' )
ControlCommand($Title,'','Button3','UnCheck','')
;Давим на кнопку ГОТОВО
Send ( '{ENTER}' )
ВТОРОЙ:
Код: Выделить весь код
WinActivate( $Title, 'Установка завершена' )
WinWaitActive ( $Title, 'Установка завершена' )
Send ('{TAB}')
Send ('{TAB}')
Send ('{SPACE}')
Send ( '{ENTER}' )
и как обычно у меня получилась дуля... и вся проблема в этом чертовом последнем окне =(

-------
Ты рожден для того, чтобы быть виноватым
Lipetsk *nix Association


Отправлено: 12:40, 01-07-2006 | #16


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

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


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

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


desperate
Цитата:
ControlCommand($Title,'','Button3','UnCheck','')
Кнопку (Button) нельзя UnCheck-нуть, ее можно только ControlClick-нуть, хотя, думаю что в данном сл. и это не прокатит...

Цитата:
Send ('{TAB}')
Ты определись с к-вом табов, а то у тебя он то один, то два...

Цитата:
и вся проблема в этом чертовом последнем окне
Ну, ежели гора не идет к некоему г-ну мусульманского вероисповедания , то можно поступить жестче... Вот тебе еще два варианта:
  1. Закрыть процесс webmoney:
    Код: Выделить весь код
    ProcessWait('webmoney.exe')
    ProcessClose('webmoney.exe')
    ProcessWaitClose('webmoney.exe')
  2. Убить процесс webmoney:
    Код: Выделить весь код
    ProcessWait('webmoney.exe')
    RunWait(@Comspec & ' /C taskkill.exe /F /IM webmoney.exe','',@SW_HIDE)
    ;если происходит запуск еще каких-то дочерних процессов, то нужно добавить ключик:
    ;RunWait(@Comspec & ' /C taskkill.exe /F /IM webmoney.exe /T','',@SW_HIDE)

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


Отправлено: 02:14, 02-07-2006 | #17


Аватара для desperate

Старожил


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

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


спасибо тебе огромное за то, что ты мне птыаешься помочь, но к сожелению и эти способы не прокатили.... процесс не убиваеться...

-------
Ты рожден для того, чтобы быть виноватым
Lipetsk *nix Association


Отправлено: 23:22, 02-07-2006 | #18


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

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


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

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


desperate
Цитата:
процесс не убивается
Честно говоря, я не могу придумать причину по к-рой несистемный процесс может не убиваться с пом. taskkill. Ты посмотри в "Диспетчере задач" после установки, какой процесс там реально запускается; webmoney.exe я написал от фонаря (я не знаю точного имени процесса, т.к. не пользуюсь WebMoney).

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


Отправлено: 02:00, 03-07-2006 | #19


Аватара для desperate

Старожил


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

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


Sanja Alone
я понял, что ты его написал от фонаря, и заменил на процесс WM2.EXE, именно он запускаеться.... но результата не увидел

Sanja Alone
с количеством нажатий кнопки TAB тоже определился уже давно, нажимать ее дважды...первое нажатие выделяет кнопку ГОТОВО, второе переходит на CheсkBox

-------
Ты рожден для того, чтобы быть виноватым
Lipetsk *nix Association


Отправлено: 10:38, 03-07-2006 | #20



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [решено] Web Money

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] антивирус Dr.Web vof44ik Лечение систем от вредоносных программ 7 13-06-2009 14:46
SKYPE и Web Money sfap Хочу все знать 2 15-02-2009 18:27
Интернет - My Web Sites on MSN\My Web Documents eugrus Microsoft Windows 2000/XP 0 10-11-2008 14:59
Интернет - [решено] Проблемы с авторизацией на Web Money Pit Alex Microsoft Windows Vista 5 26-11-2007 15:28
Web Money ошибка ЭЦП SASHA 333 Хочу все знать 1 24-01-2005 18:38




 
Переход