Sto cercando di ridirezionare lo standard output di un'applicazione console, eseguita da linea di comando (lame.exe, di Lame Project). Ho trovato degli ottimi esempi in rete, e li ho seguiti confidando che funzionassero. Ahimé, ho sperato invano, perchè non riesco a trovare una motivazione soddisfacente a quello che invece si verifica. Una volta scritto un codice simile a quello proposto su msdn, e avviato correttamente il processo, mi sono accorto che l'evento DataReceived non viene generato affatto, o, al massimo, viene generato una sola volta con e.Data = Nothing. Ho provato anche a togliere WaitForExit ed usare un codice del genere:
Nonostante ciò, non ottengo mai niente, eppure l'output di lame.exe è consistente ed esiste. Qualche suggerimento?codice:Do Dim S As String = P.StandardOutput.ReadLine() If Not String.IsNullOrEmpty(S) Then W.WriteLine(S) 'W è uno stream di testo che uso per vedere se ci sono messaggi End If Until P.HasExited 'P è il Process