Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Запуск доп.программы по условию в консоли(STDOUT) первой. (http://forum.oszone.net/showthread.php?t=196839)

Dobrinia 17-01-2011 06:56 1590340

Запуск доп.программы по условию в консоли(STDOUT) первой.
 
Есть программа (эмулятор 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


amel27 18-01-2011 08:30 1591234

как-то так:
Код:

While 1
    Sleep(200)
    $line &= StdoutRead($foo)
    If StringInStr($line, "Emulator started") Then ExitLoop
WEnd


madmasles 18-01-2011 09:24 1591250

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

amel27 18-01-2011 12:31 1591372

Цитата:

Цитата madmasles
А если строка Emulator started не появится вообще. »

будет бесконечный цикл, но судя по задаче этого не должно быть... ;)
можно поставить сообщение об ошибке по таймауту типа "запуск за выделенное время не произведен"


Время: 10:41.

Время: 10:41.
© OSzone.net 2001-