System Tray Icons - Adding to your dialog application

Introduction

I write applications for my site Settlers.net and also to make things easier for myself at home. In one of my apps, I have wanted to include a system tray icon. Only problem being, the sys tray icon samples people wrote were confusing and didn't do what I want. I'm young and not exactly pro at programming yet. This tray icon code is different simply because upon starting the program, the icon is placed into the system tray. When you click hide, the whole program is minimized to tray.

Right, now down the code.

Let's do this!

Okay, on the main dialog you must make a button for the hiding command. Name this button IDC_HIDEAPP.

Open stdafx.h and add #define WM_TRAY_NOTIFY WM_APP+1000 after AfxCmn.h's include.

Now just add a menu using the resource add and name it IDR_TRAY. Add a restore command (ID_TRAY_RESTORE) and then you're done....

You may find that when you quit, the icon doesn't disappear. Use the destroy function and add delete m_pTray ; to it... Or you could just download my demo project and rip all the code from that?

Anyways, I hope this helped some of you. Vote for this, so I get a T-Shirt haha!

License

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.

About the Author

Tutorials I have written in the past, I have done so in a fashion that would enable even the newest of programmers to get a grasp on what is actually happening with the code I submit. I am looking at writing even more in the near future to further assist others as well as gain a better understanding myself of the code I end up with.

Comments and Discussions

To start your program with the dialog minimised, put a call to OnHide(); in your OnInitDialog(); function. You may also need to initiate a timer, I think I required a timer in order to get the program to hide properly:

Hi, Hashman!I don't know if you are supporting "System Tray Icons" anymore, but I can't let it start minimized (I spent two ours on this task!). Can You please send detailed code ?Thanks in advance !!!