Guten Abend allerseits,
ich versuch momentan einfach nur aus dem einen AutoIt Script raus ein anderes zu starten. Das gestartete soll dann per ConsoleWrite irgendeinen Text in die Console schreiben, das das startende dann wiederrum per StdOutRead lesen und ausgeben soll. mein Code bisher:
aufgerufenes Script (compiled als testworker.exe)
ConsoleWrite("test")
MsgBox(0,0,"end")
aufrufendes Script, liegt im selben Ordner:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Hello World", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$startbutton = GUICtrlCreateButton("start", 20, 50, 60)
$readbutton = GUICtrlCreateButton("read", 100, 50, 60)
GUICtrlSetOnEvent($startbutton, "startbutton")
GUISetState(@SW_SHOW)
While(true)
Sleep(100)
WEnd
Func startbutton()
$worker=0
$worker=Run(@WorkingDir & "\testworker.exe")
Sleep(1000);
MsgBox(0,"read",StdoutRead ($worker))
EndFunc
Func CLOSEClicked()
Exit
EndFunc
ich starte also das aufrufende script, druecke den start-button. Dann komm die msgbox aus dem aufgerufenen script die nur "end" sagt, und gleich danach die "read"-msgbox aus dem aufrufenden Script - aber ohne Text.
Was mache ich falsch, wieso bekomme ich den per ConsoleWrite geschriebenen Text nicht übermittelt?
Gruß,
Rueolps