Hi,
ich brauche für meine Konsolenanwendung ein Event, welches beim schließen, genauer gesagt beim Herunterfahren des Systems gefeuert wird.
Alles, was ich bis her probiert habe hat einfach nicht funktioniert, das heißt, es ist überhaupt nicht passiert.
Meine Versuche:
Spoiler anzeigen
Es wurde kein einziges mal eine Text-Datei erstellt. Hat noch jemand ne Idee oder weiß, wieso nichts davon funktioniert?
ich brauche für meine Konsolenanwendung ein Event, welches beim schließen, genauer gesagt beim Herunterfahren des Systems gefeuert wird.
Alles, was ich bis her probiert habe hat einfach nicht funktioniert, das heißt, es ist überhaupt nicht passiert.
Meine Versuche:
VB.NET-Quellcode
- <DllImport("Kernel32")> _
- Public Function SetConsoleCtrlHandler(Handler As HandlerRoutine, Add As Boolean) As Boolean
- End Function
- Public Delegate Function HandlerRoutine(CtrlType As CtrlTypes) As Boolean
- Public Enum CtrlTypes
- CTRL_C_EVENT = 0
- CTRL_BREAK_EVENT
- CTRL_CLOSE_EVENT
- CTRL_LOGOFF_EVENT = 5
- CTRL_SHUTDOWN_EVENT
- End Enum
- Private Function ConsoleCtrlCheck(ctrlType As CtrlTypes) As Boolean
- IO.File.WriteAllText("C:\test123.txt", DateTime.Now.ToString())
- Return True
- End Function
- Dim hr As New HandlerRoutine(AddressOf ConsoleCtrlCheck)
- GC.KeepAlive(hr)
- SetConsoleCtrlHandler(hr, True)
Es wurde kein einziges mal eine Text-Datei erstellt. Hat noch jemand ne Idee oder weiß, wieso nichts davon funktioniert?