Автор Тема: Автоматическая установка программ  (Прочитано 3325 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Hibari [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
    • Награды
Здравствуйте, передо мной стоит элементарная задача запустить по очереди  и пройти установку нескольких программ, но так как я установил AutoIt пол часа назад то мой код естественно не работает корректно, прошу Вашей помощи.

Вот то что я написал:
Код: AutoIt [Выделить]
Run("MCEController.exe")
$title2 = WinGetTitle("[active]")
WinWaitActive ($title2)
Send("{ENTER}{ENTER}{ENTER}")
Sleep(800)
Send("{ENTER}")
WinWaitClose ($title2)

Run("DotNet4517.exe")
$title = WinGetTitle("[active]")
WinWaitActive ($title)
Send("{ENTER}") ; или для скрытой установки Send("{LSHIFT}{ENTER}")
WinWaitClose ($title)
Exit


Установка первой программы проходит удачно, а вторая не запускается, что не так? И подскажите я думаю нужно больше проверок делать с окнами, в общем нужна правка и оптимизация сего "кода", за ранее спасибо :)
« Последнее редактирование: Февраль 20, 2014, 13:47:37 от Hibari »

Русское сообщество AutoIt

Автоматическая установка программ
« Отправлен: Февраль 20, 2014, 02:26:32 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: Автоматическая установка программ
« Ответ #1, Отправлен: Февраль 20, 2014, 08:40:31 »
ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.

Оффлайн winstan [?]

  • Продвинутый
  • ***
  • Сообщений: 406
  • Репутация: 78
  • Пол: Мужской
  • Эксплотатор)
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Автоматическая установка программ
« Ответ #2, Отправлен: Февраль 21, 2014, 02:59:38 »
Начнём с банального... Возможно установка пакета DoNet требует права администратора, а чтобы наш код из запросил ставим в начале скрипта
Код: AutoIt [Выделить]
Помог мой мост? Жми "Полезное сообщение")

я полный "чайник" , но с другой стороный-не пустой.
Каму не трудно кликните по банару(это поднимит мой кирпичек на стене ников)

Русское сообщество AutoIt

Re: Автоматическая установка программ
« Ответ #2 Отправлен: Февраль 21, 2014, 02:59:38 »

Оффлайн Hibari [?]

  • Новичок
  • *
  • Сообщений: 2

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Автоматическая установка программ
« Ответ #3, Отправлен: Февраль 22, 2014, 14:31:49 »
Так и не нашел как не этом форуме цитировать, нет, права админа не нужны точно, менял местами "раны" и запускался дотнет а МСЕКонтроллер не запускался, но я понял что проблема в
Код: AutoIt [Выделить]
WinWaitClose ($title2)

оно туда доходит и не идет дальше

Оффлайн Astel064 [?]

  • Осваивающий
  • **
  • Сообщений: 264
  • Репутация: 44
  • Пол: Мужской
  • Помог мой пост, ставь +!
    • Astel064
    • Награды
  • Версия AutoIt: 3.3.6.1
Re: Автоматическая установка программ
« Ответ #4, Отправлен: Февраль 22, 2014, 15:29:16 »
Hibari  [?]
Цитировать
Вот то что я написал:

Я бы сделал так:
Код: AutoIt [Выделить]
$iPID = Run("MCEController.exe")
    If $iPID < 1 Then
    MsgBox(16,"","Не удалось запустить программу MCEController.exe" & @CRLF & "Выход!")
    Exit
    Else
    Sleep(1000)
    EndIF
$title2 = WinGetTitle("[active]")
WinActivate ($title2)
Sleep(250)
For $i = 1 To 4
Send("{ENTER}")
Sleep(800)
Next
    If NOT WinWaitClose ($title2, "", 60) Then
    MsgBox(16,"","Окно "&$title2&" не закрыто." & @CRLF & "Выход!")
    Exit
    EndIF
;-----------------------------------------------------------
$iPID = Run("DotNet4517.exe")
    If $iPID < 1 Then
    MsgBox(16,"","Не удалось запустить программу DotNet4517.exe" & @CRLF & "Выход!")
    Exit
    Else
    Sleep(1000)
    EndIF
$title = WinGetTitle("[active]")
WinActivate ($title)
Sleep(250)
Send("{ENTER}") ; или для скрытой установки Send("{LSHIFT}{ENTER}")

    If NOT WinWaitClose ($title, "", 60) Then
    MsgBox(16,"","Окно "&$title&" не закрыто." & @CRLF & "Выход!")
    Exit
    EndIF
 


Русское сообщество AutoIt

Re: Автоматическая установка программ
« Ответ #4 Отправлен: Февраль 22, 2014, 15:29:16 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
26 Ответов
14077 Просмотров
Последний ответ Апрель 05, 2014, 16:07:30
от Mancoffee
7 Ответов
17991 Просмотров
Последний ответ Июль 15, 2011, 20:15:38
от BlackCoreLogic
0 Ответов
3509 Просмотров
Последний ответ Июль 15, 2011, 04:39:12
от CreatoR
7 Ответов
6724 Просмотров
Последний ответ Апрель 16, 2012, 14:29:44
от madmasles
18 Ответов
15925 Просмотров
Последний ответ Октябрь 09, 2012, 07:11:24
от Ekoller
2 Ответов
2402 Просмотров
Последний ответ Август 21, 2014, 10:02:27
от Tuxzer92
13 Ответов
5158 Просмотров
Последний ответ Март 07, 2015, 18:33:47
от AZJIO
1 Ответов
1337 Просмотров
Последний ответ Март 11, 2015, 18:58:56
от Afonichev
0 Ответов
397 Просмотров
Последний ответ Ноябрь 25, 2017, 01:13:01
от Kuznec
0 Ответов
1198 Просмотров
Последний ответ Июль 31, 2018, 09:12:29
от TipTop