Reputation: 3720
I'm writing a program which creates no forms at all until one is required. The problem is, it's preventing shutdown from continuing automatically. I've seen discussions about adding an if
to form closing events to check if it's due to shutdown, but as I've said, my program is meant to have no forms at all until required.
Is there any event or some other method that will allow me to know when my program should be closing itself to allow for Windows to shut itself down automatically? And it's not multithreaded.
Upvotes: 1
Views: 898
Reputation: 52518
You can use the SystemEvents
class, to "listen to" users logging out, or shutting down.
If I understand the documentation correctly (and a deep study with Reflector confirms this):
Upvotes: 4
Reputation: 2340
Handling the Microsoft.Win32.SystemEvents.SessionEnding
event, and checking if it's an actual shutdown with System.Environment.HasShutdownStarted
Upvotes: 1
Reputation: 239664
You could always add a dummy form which you open minimized, with no icon on the taskbar - it won't have any visual impact, but will be sent the form closing event - where you could note the shutdown event, and presumably shut down/stop whatever else there is that your application is doing.
Upvotes: 1