Objective
In this article, I am going to show,
- How to Shut Down a machine
- How to Log Off a machine
- How to forced log off a machine
- How to restart a machine using c#
To perform our task, very first let us create a windows application project. On form drag and drop four buttons for four different operations. After design form will look like below
Navigate to code behind of form and add reference of System.Runtime.InteropServices
Add a static extern method to Form.cs
[DllImport("user32.dll")]
public static extern int
ExitWindowsEx(int operationFlag, int operationReason);
Log off the System
On click event of Log Off button, call ExitWindowsEX method with proper flag. For log off operation flag value is 0.
private
void btnLogOff_Click(object
sender, EventArgs e)
{
ExitWindowsEx(0, 0);
}
Forced Log off the System
On click event of Forced Log Off button, call ExitWindowsEX method with proper flag. For Forced log off operation flag value is 4.
private
void btnForcedLogOff_Click(object sender, EventArgs
e)
{
ExitWindowsEx(4, 0);
}
Shut Down the System
On click event of Shut down button, call ExitWindowsEX method with proper flag. For shut down operation flag value is 1.
private
void btnShutDown_Click(object
sender, EventArgs e)
{
ExitWindowsEx(1, 0);
}
Restart the System
On click event of Restart button, call ExitWindowsEX method with proper flag. For Restart operation flag value is 2.
private
void btnRestart_Click(object
sender, EventArgs e)
{
ExitWindowsEx(2, 0);
}
Now when you run the application all system operation should be performed.
For your reference full source code is given here
Form.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace SystmShutDownApp
{
public partial class Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private
void Form1_Load(object
sender, EventArgs e)
{
}
[DllImport("user32.dll")]
public static extern int ExitWindowsEx(int
operationFlag, int operationReason);
private
void btnRestart_Click(object
sender, EventArgs e)
{
ExitWindowsEx(2, 0);
}
private
void btnLogOff_Click(object
sender, EventArgs e)
{
ExitWindowsEx(0, 0);
}
private
void btnForcedLogOff_Click(object sender, EventArgs
e)
{
ExitWindowsEx(4, 0);
}
private
void btnShutDown_Click(object
sender, EventArgs e)
{
ExitWindowsEx(1, 0);
}
}
}
Thanks for reading. I hope post was useful. Happy Coding.