C# utilisant ProcessStartInfo et Process.HasExited
-
21-12-2019 - |
Question
je veux utiliser ProcessStartInfo
aux programmes de démarrage à partir de mon application C#.j'utilise ProcessStartInfo
au lieu de la normale Process
parce que je veux que les programmes de démarrage soient minimisés, je vais donc utiliser ProcessWindowStyle.Minimized
et peut-être que je passerai aussi quelques arguments.Je souhaite également surveiller ces applications démarrées après, donc je souhaite utiliser par exemple Process.HasExited
propriété (et aussi PeakWorkingSet64
) mais je ne peux pas car j'ai une erreur 'System.Diagnostics.ProcessStartInfo' does not contain a definition for 'HasExited'
.Existe-t-il un moyen de démarrer des applications avec ProcessStartInfo
et également en utilisant les propriétés disponibles avec la norme Process
classe?
La solution
ProcessStartInfo
est une classe qui définit les paramètres que vous souhaitez transmettre à une surcharge de Process.Start
.
Donc, vous feriez généralement quelque chose comme ceci :
var psi = new ProcessStartInfo { ... };
var process = Process.Start("C:\myProgram.exe", psi);
process.Exited += myProcessExitHandler;
Autres conseils
ProcessStartInfo
est juste une structure qui décrit comment démarrer un processus.Une fois que vous l'avez défini, vous le transmettez à Process.Start()
et récupérer une instance de Process
.Sur cette instance, vous pouvez appeler .HasExited
.