Click here to Skip to main content
15,883,807 members
Articles / Programming Languages / Visual Basic

Shutting Down Your Computer

Rate me:
Please Sign up or sign in to vote.
2.21/5 (13 votes)
29 Nov 2006CPOL2 min read 60K   530   30   12
This article will show you a simple way to shutdown, restart, or log off your computer.

Sample Image - Shutdown Computer.jpg

Introduction

Some programs have a "Reboot your computer for changes to take affect" option after installing updates or changing settings. But how do they reboot your computer? It's very simple. You just call "C:\WINDOWS\System32\ShutDown.exe", which is the same as typing "Shutdown" in the Command Prompt (in Windows XP).

Arguments

Here is a list of all the arguments used:

  • -i: Display the GUI interface
  • -l: Log off
  • -s: Shutdown the computer
  • -r: Shutdown and restart the computer
  • -a: Abort a system shutdown
  • -f: Forces all windows to close
  • -t xx: Set timeout for shutdown to xx seconds

Starting the Shutdown Process

Start the shutdown process by calling ShutDown, like so:

C#
System.Diagnostics.Process.Start("ShutDown", "/s") 'Shutdown

And to abort the shutdown:

C#
System.Diagnostics.Process.Start("ShutDown", "/a")

This is very important to have when testing your app, because otherwise there is no way to stop the shutdown process.

Shutdown Dialog

After you start the shutdown/restart process, a dialog will appear with a warning to close all running processes before the computer shuts down.

Shutdown Dialog

This screen is required to give users a warning that their computer is about to be shutdown so they can close all running processes, but this can be disabled by using the -f argument, which forces all windows to close.

GUI Interface

This is the GUI interface which allows advanced customization of the shutdown process. For example, you can set which computers to shutdown, the process for each computer (shutdown, restart etc.), set a shutdown timer, and much more.

GUI Interface

Conclusion

Overall, I don't really like the shutdown process, it's not very customizable. I think that would make a good addition to the .NET Framework, which would allow more control. But if you just want a simple function to restart your computer, this is perfect.

Also, using this shutdown example will not work in Windows ME or below, only in Windows XP. And, administrators can block unauthorized users from shutting down the computer, which can cause problems.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 2 Pin
Whockie13-Oct-09 8:14
Whockie13-Oct-09 8:14 
Questionhow can i use anther programm in my project? Pin
shereenbasher8-Aug-07 11:58
shereenbasher8-Aug-07 11:58 
GeneralReverse Method... Pin
shein4-Feb-07 17:11
shein4-Feb-07 17:11 
GeneralRe: Reverse Method... Pin
MatrixCoder5-Feb-07 4:49
MatrixCoder5-Feb-07 4:49 
GeneralNot true! Pin
Galatei30-Nov-06 3:38
Galatei30-Nov-06 3:38 
GeneralRe: Not true! Pin
MatrixCoder4-Apr-07 17:56
MatrixCoder4-Apr-07 17:56 
GeneralDoesn't work on some PCs Pin
Rajat Kaushish30-Nov-06 1:51
Rajat Kaushish30-Nov-06 1:51 
GeneralRe: Doesn't work on some PCs Pin
Christian Klauser30-Nov-06 2:24
Christian Klauser30-Nov-06 2:24 
GeneralRe: Doesn't work on some PCs Pin
Lito30-Nov-06 3:11
Lito30-Nov-06 3:11 
GeneralRe: Doesn't work on some PCs Pin
Rajat Kaushish30-Nov-06 5:07
Rajat Kaushish30-Nov-06 5:07 
AnswerRe: Doesn't work on some PCs Pin
Rafael Nicoletti30-Nov-06 6:08
Rafael Nicoletti30-Nov-06 6:08 
To work with other operating systems rather windowx xp, you need to use PInvoke, as far i know, there's an method Called ExitWindowsEx. I dont know if it have all features that shutdown (hibernate, timed shutdown).
BTW the basic features work, like shutdown, reboot.
AnswerRe: Doesn't work on some PCs Pin
Rajat Kaushish6-Dec-06 23:11
Rajat Kaushish6-Dec-06 23:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.