Sometimes you need to restart or shutdown the operating system from your applications (for instance, after the installation of a program). The .NET framework offers you an indirect way to restart the computer through the Windows Management Instrumentation (WMI) classes in the System.Management namespace, however, there seem to be some problems in their implementation.
That's why we created the WindowsController class that implements some API functions to restart and shutdown Windows. It supports all the ExitWindowsEx modes and it can also hibernate and suspend the system.
This class is available in C# and VB.NET version. It can be compiled to a .NET module or to a library to be used from other .NET languages.
Since it relies on the Windows API, it will not work on Linux or FreeBSD.
| Initial release.
| Fixed a bug that caused the class to misbehave on Windows98/ME.