Shut down, restart, log off and forced log off system using C#


Objective 

In this article, I am going to show, 
  1. How to Shut Down a machine 
  2. How to Log Off a machine
  3. How to forced log off a machine
  4. 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 

1.gif 

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. 

erver'>
Up Next
    Ebook Download
    View all
    Learn
    View all