una txt separado read por plano linea leer fichero especifica escribir ejemplo como comas archivos archivo .net vb.net process buffer interprocess

.net - txt - stream c# ejemplo



¿Cómo leer el buffer de la consola en VBNET? (1)

Utilizar

StandardOutput.Read

Creo que la respuesta es la misma que para su otra pregunta. ¿ Ejecutar un proceso de línea de comandos y obtener el resultado mientras el proceso todavía se está ejecutando?

Edite, está solicitando una aplicación de formulario para leer la salida de la consola. Entonces, tengamos una aplicación de consola ():

Module Module1 Sub Main() While True '' data = Console.ReadKey.KeyChar Dim Generator As System.Random = New System.Random() Console.Write(Generator.Next(0, 100) & " ") Threading.Thread.Sleep(1000) End While End Sub End Module

Genera un espacio separado de los números uno por segundo. Ahora la aplicación de formularios. Tengamos un formulario con un TextBox multilínea llamado txtResult y un button cmdStart :

Private Sub cmdStart_Click(sender As Object, e As EventArgs) Handles cmdStart.Click Dim ProcInfo As New ProcessStartInfo With {.FileName = "DataApp.exe", .RedirectStandardOutput = True, .UseShellExecute = False} Dim proc As Process = Process.Start(ProcInfo) While Not proc.HasExited Dim a As String = ChrW(proc.StandardOutput.Read) If a = " " Then txtResult.Text &= vbCrLf Else txtResult.Text &= a End If Threading.Thread.Sleep(100) Application.DoEvents() End While End Sub

Escribe los números en el TextBox uno por línea. No hay API mágica pero funciona.

He visto un ejemplo de C # usando la función de la API de ConsoleRead, pero cuando traté de traducirlo a VBNET recibí muchos errores, también en otros sitios como pinvoke, el ejemplo único también es C #, no puedo encontrar ningún buen información para VBNET de la función de la API de ConsoleRead (si existe una forma de leer el búfer de la consola sin APIS, entonces no tengo ni idea).

También probé esta clase de lector de búfer de consola para VBNET ( http://pastebin.com/XYxakDTV ) pero arroja una excepción no controlada con un mensaje como este "Controlador no válido".

¿Alguien podría ilustrarme a mí y a todas las demás personas con un ejemplo para VBNET de cómo iniciar un proceso desde una aplicación GUI (WindowsForm) para leer los resultados de la consola para recuperar caracteres / cadenas?

ACTUALIZAR:

No estoy seguro, pero creo que un proceso lanzado (utilizando System.Process Class) no asigna la consola a la aplicación, así que creo que todos los ejemplos que se ven aquí en MSDN no me pueden ayudar: http://msdn.microsoft .com / en-us / library / system.console.aspx