Wie zu erkennen, einen Kill-Prozess-Ereignis
In C#, die ich mit Bearbeiten.Kill() kill einen Prozess,
zur gleichen Zeit, in der getötet-Anwendung zu erkennen, wie dieses Ereignis?
BTW: Anwendung.ApplicationExit-Ereignis wurde nicht ausgelöst!
- Vielleicht ist es nicht der Geist deiner Frage, aber es ist wichtig zu beachten, dass es immer einen Mechanismus zur Verfügung, um die Benutzer zu gewaltsam töten Ihren Prozess, ohne dass der Prozess "behandeln" oder "erkennen" die Veranstaltung. Was wollen Sie tun in Ihrem "detection" - code?
- wenn Fenster schließen oder die Anwendung beenden, Speichere ich einige Daten,und dies ist notwendig für meine Anwendung.
- Mein Punkt ist... man kann sich nicht darauf verlassen, immer eine chance, um Daten zu speichern, besonders im Falle von unerwarteten Beendigung des Prozesses. Sie können sicherlich versuchen, so viel wie möglich, aber Sie müssen sich bewusst sein, dass es immer wieder einige Ereignisse, die dazu führen, dass die Anwendung beenden, ohne Ihnen eine chance, um Daten zu speichern. (Zum Beispiel, das system Netzkabel könnte nicht angeschlossen sein.) Ich meine nicht, wählerisch zu sein, ich wollte nur darauf hinweisen, für andere mit einer ähnlichen Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn es ein winform, können Sie erfassen die Veranstaltung
FormClosing
und überprüfen Sie dieCloseReason
:Gibt es keine einfache Möglichkeiten, dies zu erreichen, obwohl code-Injektion, api-hooking, und eine Anzahl von anderen Techniken verwendet werden könnten, um dies zu erreichen Ziel, aber meine Frage an Sie ist, tun Sie wirklich wollen, zu gehen durch eine Menge zusätzliche Arbeit, nur um sicherzustellen, dass Ihre Anwendung ist die Kenntnis von einer unerwarteten Kündigung? Würden Sie haben, um sicherzustellen, dass Sie den code injiziert/süchtig (oder was auch immer Methode, die Ihr gewählt haben) jedes einzelne mögliche Methode, jemand anderes könnte zum beenden Ihrer Anwendung, wenn jemand eine solche Aufrufe Ihrer Anwendung auslösen kann eigene Ereignis, das angibt, dass es verarbeiten soll solch eine Veranstaltung vorzubereiten und zu beenden. Im Grunde könnte man diese auch verwenden zu stoppen jemand in der Lage, um Ihre Anwendung zu schließen, wie gut.
Wenn Sie möchten mehr Informationen über diese Techniken, lassen Sie mich wissen und ich poste ein paar links. Viel Glück!