Piszę aplikację C#, która musi przesłać plik, gdy konsola jest zamknięta (czy to za pomocą przycisku X, czy komputer jest zamknięty).Czy uruchomić kod na konsoli?
Jak mogę to zrobić?
AppDomain.CurrentDomain.ProcessExit += new EventHandler (OnExit);
działa tylko kiedy wydać komendę exit
do konsoli, a nie kiedy uderzę czerwony przycisk zamykania.
Odpowiedz tylko, jeśli rozwiązanie działa zarówno gdy konsola jest zamknięta za pomocą przycisku X, jak i po wyłączeniu komputera (zwykle przez system Windows, wiem, że nie można, jeśli zasilanie jest wyciągnięte xD).
przykro mów ale istnieją scenariusze, gdzie proces zostanie zabity, więc nie można uzyskać to do pracy w każdym możliwym przypadku (może widziałeś go na Win7 gdzie uruchomisz wyłączenie i system poinformuje cię, że niektóre procesy uniemożliwiają zamknięcie systemu i możesz je zakończyć) – Carsten
@ CarstenKönig Rozumiem, że są takie sytuacje, ale chcę, aby działały przynajmniej w normalnym procesie wyłączania w przypadku, gdy użytkownik nie wymusza zamknięcia aplikacji. –
możliwy duplikat http://stackoverflow.com/questions/474679/capture-console-exit-c-sharp –