Sto utilizzando la classe Process per eseguire un exe.Il processo è in attesa di input?
L'exe è un'applicazione console di terze parti che non controllo.
Desidero sapere se il processo è in attesa di input sulla riga di comando.
In caso di differenze, intendo uccidere l'applicazione in attesa di input.
Ci sono eventi adatti per quando viene emesso dal programma in attesa di essere letti, ma non riesco a vedere nulla di simile per quando il processo attende pazientemente l'input.
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "myapp.exe";
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
process.StartInfo = info;
process.OutputDataReceived += new DataReceivedEventHandler(process_OutputDataReceived);
process.ErrorDataReceived += new DataReceivedEventHandler(process_ErrorDataReceived);
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();
Come si rileva che il processo è in attesa di input?
Il tuo problema aumenta il mio interesse. Ho fatto alcuni accorgimenti per rilevare i loop modali nelle applicazioni GUI (vedi le mie domande) ma per le applicazioni console, finora non ho ancora trovato una buona soluzione ... – jdehaan