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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Запуск доп.программы по условию в консоли(STDOUT) первой.

Ответить
Настройки темы
Запуск доп.программы по условию в консоли(STDOUT) первой.

Аватара для Dobrinia

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


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

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


Изменения
Автор: Dobrinia
Дата: 17-01-2011
Есть программа (эмулятор Android) http://developer.android.com/guide/d.../emulator.html
Нужно запустить её с параметрами и анализировать вывод, что бы запустить доп.программу (GPS приёмник) после загрузки эмулятора.
Если запусткать всё вместе - эмулятор вываливается с ошибкой.
Должно работать так:
1. запускаем эмулятор.
2. в появившемся окне нажимаем ОК
3. ждём появленяи в консоле строки "Emulator started".
4. Запускаем доп прогу.
Я набросал примерно скрипт. Немогу правильно анализировать вывод(наверное нетак что-то делаю)
Код: Выделить весь код
Local $foo
Local $line
Local $STDOUT_CHILD
$foo = Run(@ComSpec & " /c emulator.exe -system system.img -kernel kernel-qemu -data userdata.img -sdcard sdcard.img -memory 512 -netfast -cpu-delay 0 -partition-size 256 -skin 800x480 -gps COM1 -debug all", '', @SW_HIDE, $STDOUT_CHILD)
WinWaitActive("[CLASS:#32770]") 	;ждём пока не появится окно
Send('{ENTER}') 					;нажимаем ок
WinWaitActive("[CLASS:SDL_app]")	;ждём появленяи эмулятора
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
	WEnd
;тут нужно проанализировать вывод с помощью рег.выражения
Run('gps_emu.exe')
Exit

Отправлено: 06:56, 17-01-2011

 

Googler


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

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


как-то так:
Код: Выделить весь код
While 1
    Sleep(200)
    $line &= StdoutRead($foo)
    If StringInStr($line, "Emulator started") Then ExitLoop
WEnd

Отправлено: 08:30, 18-01-2011 | #2



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

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


Аватара для madmasles

Ветеран


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

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


amel27,
А если строка Emulator started не появится вообще.

Отправлено: 09:24, 18-01-2011 | #3


Googler


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

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


Цитата madmasles:
А если строка Emulator started не появится вообще. »
будет бесконечный цикл, но судя по задаче этого не должно быть...
можно поставить сообщение об ошибке по таймауту типа "запуск за выделенное время не произведен"

Отправлено: 12:31, 18-01-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Запуск доп.программы по условию в консоли(STDOUT) первой.

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - [решено] Запуск консоли управления компьютером для разных компьютеров serg33 Microsoft Windows 2000/XP 3 30-11-2010 15:57
CMD/BAT - [решено] Копирование и запуск по условию AlexVong Скриптовые языки администрирования Windows 2 25-10-2010 14:03
[решено] Поиск и запуск приложения согласно условию If... semiono AutoIt 19 18-02-2010 00:24
C/C++ - bat & cmd - сокрытие окна и вывод данных консоли в интерфейсе нашей программы crashtuak Программирование и базы данных 5 07-05-2009 16:40
Запуск графическиз приложений в консоли под Иксами kitov Общий по Linux 15 28-03-2006 11:30




 
Переход