Thursday 26 October 2017

Reindirizzare Lo Standard Output C # Processo Waitforexit


Ho provato di tutto ma non riesco a ottenere la mia uscita da un processo per reindirizzare a una casella di riepilogo. Sono in grado di reindirizzare in un file, ma non la casella di riepilogo. Ecco il codice. stringa machineName textBox1.Text processo Process nuovo processo () process. StartInfo. FileName quotschtasksquot process. StartInfo. Arguments quot interrogazione s quot 43 machineName process. StartInfo. UseShellExecute falso process. StartInfo. RedirectStandardOutput vero process. StartInfo. CreateNoWindow vero Process. Start ( ) uscita stringa process. StandardOutput. ReadToEnd () process. WaitForExit () non riesco a capire cosa mi manca. L'applicazione scriverà riga di intestazione, ma nessuno dei dati. Tuttavia, quando passo che a un file, scrive tutto. Martedì 17 Maggio 2011 14:45 E 'stata aggiunta l'uscita come un elemento. Ho creato una serie per ogni linea e sembra funzionare ora. Contrassegnato come risposta da Matt11380 Martedì 17 Maggio 2011 09:33 PMSystem. Diagnostics. Process: reindirizzare StandardInput, StandardOutput, StandardError 82.218.217 InputAndOutputToEnd: un modo pratico per utilizzare inputoutputerror reindirizzata su un p. 82218217 ltparam name8221p8221gtThe p reindirizzare. Deve avere UseShellExecute insieme a false. ltparamgt stringa 82218217 ltparam name8221StandardInput8221gtThis verrà inviato come input per il p. (Deve essere nulla se non StartInfo. RedirectStandardInput) ltparamgt 82.218.217 ltparam name8221StandardOutput8221gtThe p8217s uscita saranno raccolti in questa stringa ByRef. (Deve essere nulla se non StartInfo. RedirectStandardOutput) ltparamgt 82.218.217 ltparam errore name8221StandardError8221gtThe p8217s saranno raccolti in questa stringa ByRef. (Deve essere nulla se non StartInfo. RedirectStandardError) Funzione ltparamgt 82218217 ltremarksgtThis risolve il problema stallo accennato msdn. microsoften-uslibrarysystem. diagnostics. p.standardoutput. aspxltremarksgt ltRuntimepilerServices. Extension () gt Sub InputAndOutputToEnd (ByVal p Come Diagnostics. Process, ByVal StandardInput As String. ByRef StandardOutput As String. ByRef StandardError As String) Se p è niente allora throw new ArgumentException (8220p deve essere non null8221) 8216 supponga p è iniziata. Ahimè there8217s alcun modo di controllare. Se p. StartInfo. UseShellExecute poi gettare nuova ArgumentException (8220Set StartInfo. UseShellExecute a false8221) Se (p. StartInfo. RedirectStandardInput ltgt (StandardInput IsNot niente)) poi gettare nuova ArgumentException (8220Provide un ingresso non nullo solo quando StartInfo. RedirectStandardInput8221) Se (p. StartInfo. RedirectStandardOutput ltgt (StandardOutput IsNot niente)) poi gettare nuova ArgumentException (8220Provide una uscita non nullo solo quando StartInfo. RedirectStandardOutput8221) Se (p. StartInfo. RedirectStandardError ltgt (StandardError IsNot niente)) poi gettare nuova ArgumentException (8220Provide un errore non nullo solo quando StartInfo. RedirectStandardError8221) Dim OutputData come nuovo InputAndOutputToEndData Dim ErrorData come nuovo InputAndOutputToEndData Se p. StartInfo. RedirectStandardOutput Poi

No comments:

Post a Comment