Hi
wenn ich meine Giu starte beginnt der StdoutRead sofort den FCsServerLauncher auszulesen, kann dann im Input einen Befehl eingeben und senden.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiEdit.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 835, 439, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 419, 29, 398, 387)
$Edit2 = GUICtrlCreateEdit("", 15, 215, 398, 200)
$Button1 = GUICtrlCreateButton("Senden", 151, 60, 75, 25)
$Input1 = GUICtrlCreateInput("", 149, 30, 222, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$fc2 = Run("C:\Program Files (x86)\Ubisoft\Far Cry 2\bin\FC2ServerLauncher.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD )
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$read = GUICtrlRead($Input1)
WinActivate("[Class:ConsoleWindowClass]")
WinWaitActive ("[Class:ConsoleWindowClass]")
Send($read&"{Enter}")
EndSwitch
[/autoit] [autoit][/autoit] [autoit]$line = StdoutRead($fc2)
If @error Then ExitLoop
If $line <> "" Then
GUICtrlSetData($Edit1,"" & $line,1 )
EndIf
WEnd
While 1
$line = StderrRead($fc2)
If @error Then ExitLoop
ConsoleWrite("STDERR read:"& $line&1)
WEnd
Nun habe ich versucht den StdoutRead Prozess auch per Button zu starten, hab ich zwar geschafft aber leider funktioniert der Send Button nicht mehr, kann keine Befehle mehr senden.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiEdit.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 835, 439, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 26, 28, 75, 25)
$Edit1 = GUICtrlCreateEdit("", 419, 29, 398, 387)
$Edit2 = GUICtrlCreateEdit("", 15, 215, 398, 200)
$Button2 = GUICtrlCreateButton("Button2", 151, 60, 75, 25)
$Input1 = GUICtrlCreateInput("", 149, 30, 222, 21)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Start()
Case $Button2
$read = GUICtrlRead($Input1)
WinActivate("[Class:ConsoleWindowClass]")
WinWaitActive("[Class:ConsoleWindowClass]")
Send($read & "{Enter}")
EndSwitch
WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func Start()
$fc2 = Run("C:\Program Files (x86)\Ubisoft\Far Cry 2\bin\FC2ServerLauncher.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While 1
$line = StdoutRead($fc2)
If @error Then ExitLoop
If $line <> "" Then
GUICtrlSetData($Edit1, "" & $line, 1)
EndIf
WEnd
EndFunc ;==>Start
Was mache ich falsch?