Interagire con un processo Esterno

mercoledì 11 luglio 2007 - 13.09

francescox78 Profilo | Junior Member

Salve a tutti e grazie in anticipo a chi mi risponderà.

Ho un dubbio\problema sto sviluppando un'applicazione windows dove è richiesto che richiami un secondo programma in un processo esterno per effettuare un determinato lavoro.

E' possibile, se si come, interagire con questo secondo processo?

Vi spiego meglio,
una volta avviato in un processo esterno il programma (DOS) dovrei mandargli dei comandi e aspettare la risposta,
questo per un paio di volte affinchè nono ho il risultato atteso.

Con system.Diagnostics.Process riesco ad avviare il processo ma poi per passargli i comandi?

Grazie a tutti ancora.





Francesco

munissor Profilo | Senior Member

Fai partire il processo con ProcessInfo.RedirectStandardInput e RedirectStandardOutput a true.

Poi via Process.StandardInput e StandardOutput fai tutto quello che vuoi..

francescox78 Profilo | Junior Member

ti ringrazio, della risposta.

Oggi provo e ti faccio sapere.

Francesco

francescox78 Profilo | Junior Member

Come metodo va bene,
infatti se faccio una prova iniziando un processo esterno come "cmd.exe" riesco a passare dei comandi e leggere il risultato.

Il programma che devo richiamare è un emularore 3 2 7 0 dos.

ma sembra che i comandi che gli passo non li considera...

[..]
Dim sIn As System.IO.StreamWriter = myProcess.StandardInput
sIn.Write("Help" & System.Environment.NewLine)

anche se gli mando un semplice comando di help.

è possibile che non posso tentare un approccio del genere con un emulatore dos?


Francesco

munissor Profilo | Senior Member

Prova a specificare la codifica degli stream come ASCII..

francescox78 Profilo | Junior Member

giusto ora provo
Francesco

francescox78 Profilo | Junior Member

>Prova a specificare la codifica degli stream come ASCII..


come faccio?


Francesco

munissor Profilo | Senior Member

ProcessStartInfo psi = new ProcessStartInfo()

psi.StandardInputEncoding = Encoding.ASCII;
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