Chcę uruchomić plik wykonywalny, który zapisuje plik XML na dysku lokalnym, zanim komputer (działający w systemie Windows 7) zostanie zamknięty.
Wiem, że możliwe jest uruchamianie skryptów przed wyłączeniem. Można to skonfigurować w Edytorze lokalnych zasad grupy w obszarze Konfiguracja komputera -> Ustawienia systemu Windows -> Skrypty (uruchamianie / zamykanie).
Próbowałem umieścić mój plik wykonywalny we właściwości shutdown, ale to nie działa. Jak mogę uruchomić plik wykonywalny, zanim komputer zostanie zamknięty? Jak mogę podłączyć zdarzenie zamknięcia?
c#
.net-framework
group-policy
użytkownik1743843
źródło
źródło
Odpowiedzi:
Rozpoczęcie procesu, gdy zainicjowano zamknięcie, jest złym pomysłem. Na tym etapie najbardziej prawdopodobnym rezultatem jest odzyskanie błędu 1115
ERROR_SHUTDOWN_IN_PROGRESS
.Znacznie lepszym sposobem jest zainstalowanie usługi i zarejestrowanie usługi, aby otrzymywać powiadomienia o zamykaniu za pośrednictwem
RegisterServiceCtrlHandlerEx
, patrz zamykanie:Usługa AC # zrobiłaby to, ustawiając wartość
CanShutdown
true, a następnie obsługującOnShutdown
zdarzenie. Ważne jest, aby być usługą, a nie aplikacją, ponieważ zamknięcie może nastąpić, gdy żadna sesja nie jest zalogowana i / lub może wystąpić wiele sesji, gdy nastąpi zamknięcie.źródło