In some circumstances, you may need to allow your program to restart or shut down a computer that uses a Windows Operating System. This article will teach you how to shut down and restart a computer using C#.
To begin with, you will need to add the namespace below:
using System.Diagnostics;
The function below is used to restart or shut down a windows operating system. It calls the shutdown windows command by using the Process.Start function from the System.Diagnostics namespace.
void ShutdownRestart(bool restart = false) {
if (restart) {
Process.Start("ShutDown", "/r"); // To restart a windows OS
} else {
Process.Start("ShutDown", "/s"); // To shutdown a windows OS
}
}
Note that the shutdown.exe file is located in the location below:
%windir%\System32\shutdown
Now you can call the function above by passing the restart argument to get the desired action:
public static void Main(String[] args)
{
ShutdownRestart(true);
}
Timed shutdown allows you to run the shutdown command after a specific time. You can use timed shutdown by adding the time when calling the command:
Process.Start("shutdown","/s /t 60");
The Windows Operating System will be shut down after 1 minute in the code above.
The shutdown command can be used to logoff a logged-in user by simply passing the argument as shown below:
Process.Start("shutdown","/l");
Happy coding!