tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1832
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von unmountable
    unmountable unmountable ist offline Mitglied
    Registriert seit
    Sep 2005
    Beiträge
    15
    Ich hab da mal eine (vielleicht relativ blöde) Frage:

    Gibt es ein Ereignis, das beim Schließen einer Konsolenanwendung eintrifft?

    Hintergrund: Ich will noch schnell was in ein Log schreiben, bevor die Anwendung geschlossen wird.

    Bei Windows Forms gibt das ApplicationExit-Ereignis, das ich für sowas verwenden kann.
    Bei Diensten wird sowieso automatisch die Methode OnExit aufgerufen.

    Aber irgendwie finde ich da gerade nichts für eine Konsolenanwendung. Oder ich seh den Wald vor lauter Bäumen nicht...

    Vielen Dank schon mal...

    Gruß!

    Sören
     

  2. #2
    Avatar von unmountable
    unmountable unmountable ist offline Mitglied
    Registriert seit
    Sep 2005
    Beiträge
    15
    Ach, ist okay. Ich hab's dann doch selbst gefunden (mit einem freundlichen Hinweis eines Kollegen):

    Code :
    1
    
    AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);

    Damit geht's.
     

  3. #3
    Avatar von unmountable
    unmountable unmountable ist offline Mitglied
    Registriert seit
    Sep 2005
    Beiträge
    15
    Tja, ich war etwas voreilig. Irgendwie war das dann doch noch nicht die Lösung, jedenfalls nicht ganz.

    Das Event tritt nämlich nur ein, wenn die Anwendung ordnungsgemäß beendet wird. Ich würde aber auch gern noch ins Log schreiben, wenn z.B. jemand das Konsolenfenster unter Windows schließt (z.B. durch Klick auf das X). Dann tritt ProcessExit nämlich leider nicht ein.

    Vielleicht doch noch jemand eine Idee?
     

  4. #4
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hi unmountable!

    Willkommen im Forum!

    Das geht soweit ich weiss nicht. Auch wenn Du dafür IDisposable implementierst.
    (Habs grad nochmal explizit ausprobiert)

    Du kannst ja alternativ in der Registry ein Flag setzen,
    wenn deine Consolen-Anwendung ordungsgemäß geschlossen wurde
    und beim Start darauf reagieren.
    Bedenke aber das die Registry kein Sammelpunkt für alle möglichen unnützen Informationen ist.
    Wenn diese überquillt wird dein Windows immer langsamer.
    Als Softwareentwickler trägt man auch Verantwortung für,
    nach dem Deinstallieren der Software, alles wieder zu entfernen

    Oder Du schreibst es in deine App.config. Die kannst wie ein XML behandeln.

    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Application.ApplicationExit ist das Event welches dich zur Lösung bringen sollte.

    http://msdn.microsoft.com/library/de...ventsTopic.asp
     

  6. #6
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hi Norbert!

    Das hab ich jetzt ausprobiert. Klappt aber auch nicht
    Btw. gehts hier auch um eine Consolen-Anwendung.
    Das schließen durch das "X" bewirkt hier das Töten des Prozesses,
    sodass er keine Chance mehr hat irgend was zu feuern.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

Ähnliche Themen

  1. VBA Excel -> Ereignis beim Betreten einer Zelle
    Von deusfalsus im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 13.09.10, 10:09
  2. Inhalt einer TextBox beim Schließen speichern?
    Von elitedj im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 02.05.09, 14:41
  3. Script zum öffnen einer seite beim schließen
    Von Lachkopf im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 06.04.08, 19:56
  4. Antworten: 4
    Letzter Beitrag: 14.03.06, 18:35
  5. Startpfad einer Konsolenanwendung
    Von chironex im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 09.05.05, 17:14