Что нового

Передача значений из одной программы в другую

Snajper

Новичок
Сообщения
3
Репутация
0
Подскажите пожалуйста как правильно работают StdinWrite и StdoutRead. Например у меня есть 2 скрипта prog1.au3 и prog2.au3, и из первого скрипта по нажатию кнопки мне нужно запустить вторую прогу и передать в нее слово или путь, как это сделать?

Я особо не нашел информации и не смог понять примеры, делаю так:
Prog1.exe
Код:
$per1 = login
$per2 = "C:\Users\Snajper\Desktop\study_autoit\"

While 1
   Switch GUIGetMsg()
   Case $GUI_EVENT_CLOSE
      ExitLoop
   Case  $sbatch_1
      Local $iPID = run("prog2.exe",@ScriptDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
      StdinWrite($iPID, $per1 & @CRLF & $per2)
   EndSwitch
WEnd


А в prog2.exe мне нужно получить $per1 и $per2

Код:
#include <Constants.au3>
Local $iPID =  ProcessList("prog1.exe")
$sOutput = StdoutRead($iPID)
Run("C:\Users\Snajper\Desktop\study_autoit\logo.exe -" & $sOutput)
Exit
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Через командную строку передавайте.
 
Автор
Snajper

Snajper

Новичок
Сообщения
3
Репутация
0
Я так и не понял как это сделать... Ничего не нагуглил нового =( Вроде код что я написал должен работать, что я не так делаю?
Сообщение автоматически объединено:

Решил путём записи в файл и чтения из файла
Код:
$param = FileReadLine($file2, 3)
 
Последнее редактирование:

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Если имеется ввиду запуск с параметрами, то смотрите в справке $CmdLine
Если нужен постоянный обмен, то смотрите на форуме темы обмен данными между программами
 

vovsla

Осваивающий
Сообщения
607
Репутация
36
Передать данные в другую запущенную программу - StdinWrite
Прочитать данные, которые выдала другая программа - StdoutRead
 
Верх