Показать полную графическую версию : [решено] обмен данными между скриптами
aasavelev
15-10-2010, 09:20
Скажите, можно ли как-нибудь передать данные из одного скрипта в другой? Если да то как?
madmasles
15-10-2010, 10:11
aasavelev,
Посмотрите здесь Коммуникация процессов при помощи STDIN/STDOUT (http://autoit-script.ru/index.php/topic,332.0.html) и здесь Еще один способ итеракции процессов (http://autoit-script.ru/index.php/topic,2733.0.html).
aasavelev
16-10-2010, 07:32
Я пишу следующий скрипт:
В файле 1.au3:
AutoItSetOption("ProvideRunStdout", 1)
AutoItSetOption("ProvideRunStdin", 1)
$STDIN_CHILD=2
Run("2.exe","","",$STDIN_CHILD)
StdinWrite($STDIN_CHILD,"Свойство1")
А как в 2.exe считать переданное свойство?
aasavelev
16-10-2010, 19:54
2.exe это файл скомпилированный в Autoit.
madmasles
17-10-2010, 10:30
aasavelev,
Попробуйте так:
1.au3:#include <Constants.au3>
$Pid = Run(@ScriptDir & '\2.exe', '', @SW_HIDE, $STDOUT_CHILD)
$sLog = ''
While 1
$sLog &= StdoutRead($Pid)
If @error Then ExitLoop
Sleep(20)
WEnd
MsgBox(0, '', $sLog)
2.au3:For $i = 1 To 5
ConsoleWrite($i & ' Message ' & Random(10, 100, 1) & @LF)
Sleep(100)
Next
ConsoleWrite(@LF & 'Все.')
Скомпилируйте оба скрипта, положите их в одну папку и запустите 1.exe.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.