Click here to Skip to main content
Licence CPOL
First Posted 29 Nov 2006
Views 37,221
Downloads 187
Bookmarked 30 times

Shutting Down Your Computer

By | 29 Nov 2006 | Article
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:

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

And to abort the shutdown:

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)

About the Author

MatrixCoder

Software Developer

United States United States

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 2 PinmemberAjizen8:14 13 Oct '09  
Questionhow can i use anther programm in my project? Pinmembershereenbasher11:58 8 Aug '07  
GeneralReverse Method... Pinmembershein17:11 4 Feb '07  
GeneralRe: Reverse Method... PinmemberMatrixCoder4:49 5 Feb '07  
GeneralNot true! PinmemberGalatei3:38 30 Nov '06  
GeneralRe: Not true! PinmemberMatrixCoder17:56 4 Apr '07  
GeneralDoesn't work on some PCs Pinmembercoshishonour1:51 30 Nov '06  
GeneralRe: Doesn't work on some PCs PinmemberChristian Klauser2:24 30 Nov '06  
GeneralRe: Doesn't work on some PCs PinmemberLito3:11 30 Nov '06  
GeneralRe: Doesn't work on some PCs Pinmembercoshishonour5:07 30 Nov '06  
AnswerRe: Doesn't work on some PCs Pinmembertkrafael_net6:08 30 Nov '06  
AnswerRe: Doesn't work on some PCs Pinmembercoshishonour23:11 6 Dec '06  

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

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

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 30 Nov 2006
Article Copyright 2006 by MatrixCoder
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid