Click here to Skip to main content
15,313,293 members
Articles / Desktop Programming / MFC
Posted 14 Apr 2002


32 bookmarked


Rate me:
Please Sign up or sign in to vote.
3.29/5 (7 votes)
14 Apr 20022 min read
A system tray utility that will Shutdown, Restart, LogOff, Hibernate or Standby your system with just a double click.

Instant Off Menu


This is a simple system tray utility which allows you to quickly Shutdown, Restart, Log Off, Hibernate or Standby just with a mouse click. As you can see from the screen shot, it will allow you to choose any action from the Context menu or execute the default menu action by just double clicking the menu item. This is very handy compared to the usual way of Start->ShutDown and then choose the action.


  • Fast and compact. The executable is only 35 KB. It is packed with UPX. Original file size is only 72 KB.
  • Easy to customize. The user can select the menu items which should appear in the Context menu and the Default menu item. The action associated with this default menu item will be processed upon double clicking the System Tray Icon.
  • The user can also decide whether to force the system to undergo the actions displayed in the context menu. In this case the system will not wait for any programs to close and you will lose the unsaved data. But this useful when you get stuck with some program.
  • It will work on any platform, from Windows 95 to Windows XP Pro and Home Edition.

Code Details

This version of the Application was written using WTL 7.0 library. It uses no WTL 7.0 specific features, and it can be compiled with WTL 3.1 or 3.0. Earlier versions of this Application was written using API. But I think that an Object Orient Approach would be far better in this kind of situations.

For system Shutdown, Restart and Log Off ExitWindowsEx API is used. For Hibernation and Standby modes SetSystemPowerState API is used. The program stores its settings in file instant.ini instead of using System Registry.

Instant Off Options

I have used a Tree Control which allows the user to select the default menu action and Items to be displayed in the context menu. I have derived a new class to achieve Internet Explorer like Options Dialog. You must choose at least one menu item to be displayed in the context menu and one default menu item. You van also specify whether to force the system to undergo the clicked action. In the Settings category it is shown whether to force the system shutdown, but it will work for all the five menu items.

Last words ...

I have written all the components required for this application specifically for this Application. If you need to use any of the components you have to Add/Remove some code to/from the existing code. The code is not commented. But functions names will tell you what I did. I think it can be easily understood. The settings saving could be done in registry. I have used MFC's VERIFY to catch bugs very easily. And it worked for me very well and I could catch some bugs with that Tree Control. Expect Bugs...


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Derick Cyril Thomas
Web Developer
United States United States
Visit my technical blog at

Comments and Discussions

GeneralI have my won shutdown which is aesthetic and advanced then this ! Pin
sanjit_rath16-Jul-04 9:46
Membersanjit_rath16-Jul-04 9:46 
GeneralRe: I have my won shutdown which is aesthetic and advanced then this ! Pin
maplewang5-Jun-07 15:08
Membermaplewang5-Jun-07 15:08 
GeneralSetting Hibernation as default fails Pin
Gil Yoder19-Mar-04 3:42
MemberGil Yoder19-Mar-04 3:42 
When I set the default option to Hibernation and double click the system tray icon, whatever was the default prior to the change will be invoked. IOW if the default was Standby, and I make a change to Hibernation, the double click action will be to enter standby. I've confirmed this with going from a default of Shut down to Hibernation too. Double clicking then will cause a shut down.

If I right click and select Hibernation from the menu, the system will enter Hibernation mode correctly. I just won't enter it as a result of a default action.

QuestionHow to capture Standby&Hiberation event? Pin
FrankJHTsai18-Feb-04 14:23
MemberFrankJHTsai18-Feb-04 14:23 
AnswerRe: How to capture Standby&Hiberation event? Pin
madar123#27-Aug-07 0:34
Membermadar123#27-Aug-07 0:34 
GeneralRestart without BIOS Power on self test Pin
Sadru4-Jun-03 19:39
MemberSadru4-Jun-03 19:39 
QuestionWhere is the Source code? Pin
JH200323-Mar-03 12:35
MemberJH200323-Mar-03 12:35 
AnswerRe: Where is the Source code? Pin
Derick Cyril Thomas28-Mar-03 14:33
MemberDerick Cyril Thomas28-Mar-03 14:33 
AnswerRe: Where is the Source code? Pin
x_tao198420-Sep-09 17:47
Memberx_tao198420-Sep-09 17:47 
QuestionHow to shutdown a drive ? Pin
_Axl_6-Dec-02 14:44
Member_Axl_6-Dec-02 14:44 
General? Catch shutdown Pin
Synetech19-Aug-02 6:39
MemberSynetech19-Aug-02 6:39 
GeneralRe: ? Catch shutdown Pin
Ravi Bhavnani19-Aug-02 7:14
professionalRavi Bhavnani19-Aug-02 7:14 
GeneralRe: ? Catch shutdown Pin
Brian Delahunty14-May-03 10:37
MemberBrian Delahunty14-May-03 10:37 
GeneralRe: ? Catch shutdown Pin
Anonymous22-Oct-04 5:10
MemberAnonymous22-Oct-04 5:10 
QuestionHow can I tell when an app has ended? Pin
Paresh Solanki21-Jun-02 4:38
MemberParesh Solanki21-Jun-02 4:38 
AnswerRe: How can I tell when an app has ended? Pin
Carlos Antollini21-Jun-02 5:16
MemberCarlos Antollini21-Jun-02 5:16 
QuestionCan not comiple the source code Pin
21-Jun-02 4:29
suss21-Jun-02 4:29 
AnswerRe: Can not comiple the source code Pin
Anonymous14-Aug-02 4:31
MemberAnonymous14-Aug-02 4:31 
AnswerRe: Can not comiple the source code Pin
Derick Cyril Thomas14-Aug-02 21:12
MemberDerick Cyril Thomas14-Aug-02 21:12 
GeneralLock PC support Pin
mr. Vitaliy A. Genkin22-May-02 0:56
Membermr. Vitaliy A. Genkin22-May-02 0:56 
GeneralRe: Lock PC support Pin
3-Jul-02 1:58
suss3-Jul-02 1:58 
GeneralForce System Shutdown... Pin
Mike Nordell15-Apr-02 12:25
MemberMike Nordell15-Apr-02 12:25 
GeneralRe: Force System Shutdown... Pin
Derick Cyril Thomas16-Apr-02 15:24
MemberDerick Cyril Thomas16-Apr-02 15:24 
GeneralRe: Force System Shutdown... Pin
22-Apr-02 10:44
suss22-Apr-02 10:44 
GeneralRe: Force System Shutdown... Pin
Derick Cyril Thomas22-Apr-02 23:30
MemberDerick Cyril Thomas22-Apr-02 23:30 

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.