Redirigere lo StandardOutput

mercoledì 22 febbraio 2006 - 10.55

tronch Profilo | Newbie


Salve a tutti ho realizzato un programma in .NET che lancia un processo e intente redirigere lo StandardOutput in un file.

Il codice e' il seguente:

Dim PS As New Diagnostics.Process
....
PS.StartInfo.FileName = "FILE.exe"
PS.StartInfo.Arguments = " ARGOMENTI"
PS.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
PS.StartInfo.UseShellExecute = False
PS.StartInfo.RedirectStandardOutput = True
PS.Start()
PS.WaitForExit()
WriteTxtToFile("ReDir.txt", PS.StandardOutput.ReadToEnd())
....

WriteTxtToFile e' una mia procedura che prende come inggresso un nome e una stringa e ne crea il file.

Tutto funziona bene ma quando lancio il processo la finestra di esecuzione non rimane nascosta come indicato dalla proprieta' PS.StartInfo.WindowStyle = ProcessWindowStyle.Hidden ma compare (per il tempo di esecuzione del processo) una finestrella del Prompt dei comandi DOS.

C'e' qualcosa che mi sfugge?
Grazie a tutti per l'aiuto.

Saluti. A.T.

Cteniza Profilo | Guru

Prova l'allegato.
Eventualmente questo è il link originale http://dotnet.mvps.org/dotnet/samples/misc/RedirectConsole.zip

tronch Profilo | Newbie

Ho risolto utilizzando la funzione Shell.
Grazie comunque dell'esempio che mi hai inviato.

Saluti.
A.T.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5