Here a quick guide to show you how to reboot a windows computer from C# Its actually really very simple.
With the following code you can create your own User32 class to call windows api directly.
public static class User32
{
[DllImport("user32.dll")]
public static extern bool ExitWindowsEx(ExitWindowsFlags uFlag, UInt32 dwReserved);
public static bool ExitWindowsEx(ExitWindowsFlags uFlag)
{
return ExitWindowsEx(uFlag, 0);
}
}
Note: you will also need 'using System.Runtime.InteropServices;' at the top of the C# file. You will probably also want to define all the options that are available to use with the call.
[Flags]
public enum ExitWindowsFlags {
EWX_LOGOFF = 0,
EWX_SHUTDOWN = 0x1,
EWX_REBOOT = 0x2,
EWX_FORCE = 0x4,
EWX_POWEROFF = 0x8,
EWX_FORCEIFHUNG = 0x10,
EWX_RESTARTAPPS = 0x40
}
The rest is now really simple.
static void Main(string[] args)
{
if (User32.ExitWindowsEx(ExitWindowsFlags.EWX_REBOOT) == false)
{
Console.WriteLine("FAILED!");
}
else
{
Console.WriteLine("SUCCESS!");
}
}
Did You find this page useful?
Yes
No
Last Modified: 21 December 2016
Releated Posts
2011-10-27 - CSharp - Number Of Cores and Processors
2011-10-04 - CSharp - Thread Queue Example
2011-09-29 - CSharp - Background Thread / Task
2011-09-17 - CSharp - Lookup Hostname
2011-08-29 - C Sharp - StopWatch, The high resolution timer
2011-08-29 - CSharp - IsGuid
2011-08-26 - CSharp - Convert Between Meters and Feet
2011-08-23 - CSharp - ThreadPool and Windows Forms
2011-08-10 - C Sharp - MD5Sum / SHASum
2011-07-22 - CSharp - Fibonacci sum
2011-07-13 - CSharp - Palindrome
2011-07-11 - CSharp - The string Reverse
2011-07-10 - CSharp - Interviews FizzBuzz
2011-06-27 - CSharp - HowTo Parse a URL
2011-06-22 - CSharp - Extending any class
2011-06-13 - ASPNET - Login by username or email
2011-05-12 - CSharp - ASPNET Logoff
2011-03-07 - C Sharp - Windows Logoff
2011-03-02 - ASPNET - Dynamic Controls
2011-03-01 - C Sharp - Resize an image by size of height
2011-02-10 - CSharp - Shutdown or reboot windows
2011-02-10 - CSharp - Wake on Lan (WOL) Packet
2011-02-06 - C Sharp - Gridview Bound Yes No
2011-02-05 - MSSQL - Levenshtein
2011-01-30 - MSSQL - Adding SHASum support
2011-01-30 - MSSQL - Enabling CLR Functions
2011-01-30 - MSSQL - Adding MD5 checksum support
2011-01-30 - MSSQL - RegEx Support