Что нового

Коммуникация процессов при помощи STDIN/STDOUT

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Пример коммуникации двух процессов при помощи STDIN/STDOUT. Открываем в SciTE первый скрипт - Script1.au3 и запускаем на выполнение. Скрипты нужно назвать так, как написано ниже.


Script1.au3

Код:
#Include <Constants.au3>
#Include <File.au3>

Global Const $AutoIt = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\Aut2Exe\Aut2exe.exe'
Global Const $Script1Au3 = 'Script2.au3'
Global Const $Script1Exe = _TempFile(@TempDir, '~', '.exe')

Global $Pid, $Data

RunWait($AutoIt & ' /in ' & $Script1Au3 & ' /out ' & $Script1Exe)
$Pid = Run($Script1Exe, '', @SW_SHOW, $STDOUT_CHILD)

While 1
	$Data = StdoutRead($Pid)
	If $Data <> '' Then
		ConsoleWrite($Data & @CR)
	EndIf
	If @error Then
		ExitLoop
	EndIf
WEnd

ProcessWaitClose($Pid)
FileDelete($Script1Exe)



Script2.au3

Код:
Global $i = 0

While 1
	Sleep(500)
	$i += 1
	ConsoleWrite(String($i))
WEnd
 
Верх