11 Stimmen

Process.Exited wird nicht immer ausgelöst

Wenn ich den folgenden Code ausführe :

Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "notepad.exe";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new System.EventHandler(Process_OnExit);
myProcess.Start();

public static void Process_OnExit(object sender, EventArgs e)
{
    // Delete the file on exit
}

Das Ereignis wird ausgelöst, wenn ich Notepad beende. Wenn ich den gleichen Code versuche, aber ich starte ein Bild statt :

Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg";
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new System.EventHandler(Process_OnExit);
myProcess.Start();

public static void Process_OnExit(object sender, EventArgs e)
{
    // Delete the file on exit
}

Das Ereignis wird nie ausgelöst. Liegt es daran, dass der Prozess, der das Bild lädt, nie geschlossen wird?

UPDATE : Der Prozess, mit dem man beginnt, ist nicht immer ein Bild. Es kann alles sein (PDF, Word-Dokument usw.). Vielleicht ist mein Ansatz nicht der richtige. Gibt es eine andere Möglichkeit, die Datei zu löschen, nachdem der Benutzer den Prozess beendet hat?

Gracias

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X