Ich habe alles versucht, aber ich kann meine Ausgabe von einem Prozess nicht zu einem Listenfeld umleiten. Ich bin in der Lage, es zu einer Datei umzuleiten, aber nicht das Listenfeld. Hier ist der Code. String machine textBox1.Text Prozess Prozess neue Process () process. StartInfo. FileName quotschtasksquot process. StartInfo. Arguments quot Abfrage s quot 43 machine process. StartInfo. UseShellExecute falsch process. StartInfo. RedirectStandardOutput wahr process. StartInfo. CreateNoWindow wahr Process. Start ( ) String output process. StandardOutput. ReadToEnd () process. WaitForExit () Ich kann nicht herausfinden, was mir fehlt. Die Anwendung schreibt die Kopfzeile, aber keine der Daten. Jedoch, wenn ich das zu einer Akte schlage, schreibt sie alles. Dienstag, 17. Mai 2011 14:45 Es war das Hinzufügen der Ausgabe als ein Element. Ich habe ein Array für jede Zeile erstellt und es scheint jetzt zu funktionieren. Als Antwort von Matt11380 Dienstag, 17. Mai 2011 09.33 PMSystem. Diagnostics. Process: redirect StandardInput, StandardOutput, Standarderror 82.218.217 InputAndOutputToEnd: eine handliche Weise umgeleiteten inputoutputerror auf einem p zu verwenden. 82218217 ltparam name8221p8221gtDie p zu leiten. Muss UseShellExecute auf false. ltparamgt setzen 82218217 ltparam name8221StandardInput8221gtDiese Zeichenfolge wird als Eingabe an das p gesendet. (Muss nichts sein, wenn nicht StartInfo. RedirectStandardInput) ltparamgt 82218217 ltparam name8221StandardOutput8221gtDie Ausgabe von p8217s wird in dieser ByRef-Zeichenfolge gesammelt. (Muss nichts sein, wenn nicht StartInfo. RedirectStandardOutput) ltparamgt 82.218.217 ltparam name8221StandardError8221gtThe p8217s Fehler wird in diesem ByRef String gesammelt werden. (Muss nichts sein, wenn nicht StartInfo. RedirectStandardError) ltparamgt 82.218.217 ltremarksgtThis Funktion des Deadlock-Problem bei msdn. microsoften-uslibrarysystem. diagnostics. p.standardoutput. aspxltremarksgt ltRuntimepilerServices. Extension () gt Sub InputAndOutputToEnd (ByVal p Als Diagnostics. Process, ByVal erwähnt löst StandardInput As String ByRef StandardOutput Als String ByRef StandardError As String) Wenn p nichts ist, dann Throw New ArgumentException (8220p muss nicht null8221 sein) 8216 Angenommen, p hat begonnen. Leider gibt es keine Möglichkeit zu überprüfen. Wenn p. StartInfo. UseShellExecute dann werfen New Argument (8220Set StartInfo. UseShellExecute zu false8221) If (p. StartInfo. RedirectStandardInput ltgt (StandardInput IsNot Nothing)) Dann werfen New Argument (8220Provide eine Nicht-Null-Eingabe nur, wenn StartInfo. RedirectStandardInput8221) Wenn (p. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot Nothing)) Dann werfen New Argument (8220Provide eine nicht-null-Ausgang nur, wenn StartInfo. RedirectStandardOutput8221) If (p. StartInfo. RedirectStandardError ltgt (Standarderror IsNot Nothing)) Dann New Wurf Argument (8220Provide Ein Nicht-Null-Fehler nur wenn StartInfo. RedirectStandardError8221) Dim outputData As New InputAndOutputToEndData Dim errorData As New InputAndOutputToEndData If p. StartInfo. RedirectStandardOutput Then
No comments:
Post a Comment