Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Ridirezione dell'output dalla Console in Visual Basic

Spesso mi diverto a creare delle piccole interfacce grafiche per strumenti utilizzabili solo dalla riga di comando, come alcuni del .NET Framework.

In casi come questi è del tutto antiestetico che, quando si avvia il processo relativo all'applicazione esterna, l'output di quest'ultima venga mostrato nella Console.

E' più opportuno, invece, che venga "catturato" e mostrato nell'applicazione Windows che lancia il processo esterno. Ipotizzando di avere un'applicazione Windows in cui ci sia una TextBox chiamata MiaTextBox, questo è il codice da usare:

        Dim appEsterna As New Process

 

        With appEsterna

 

            .StartInfo.UseShellExecute = False

            'Questa riga serve per evitare che l'output vada alla Console

            .StartInfo.RedirectStandardOutput = True

 

            .StartInfo.FileName = "ApplicazioneEsterna.exe"

            'Argomenti della riga di comando

            .StartInfo.Arguments = "Argomento1 Argomento2"

            .Start()

 

            'Attende che il processo sia terminato

            .WaitForExit()

        End With

 

        Dim outputDallaConsole As String = appEsterna.StandardOutput.ReadToEnd()

 

        miaTextBox.Text = outputDallaConsole

Alessandro

Print | posted on domenica 16 marzo 2008 17:08 | Filed Under [ .NET Framework Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET