Virtual Developer Workshop: Containerized Development with Docker
To put an icon in the task tray all an application has to do is call Shell_NotifyIcon() to supply the icon, tool tip, callback message and a window to send it to. Making an application that's just a task tray applet is just a case of creating a hidden window, calling Shell_NotifyIcon() and processing the messages. The messages are your standard mouse click type messages. It's not that difficult but it takes a bit of time.
To implement your task tray applet you need to do the following:
- include "TaskBarApplet.hpp" and "TaskBarAppletMain.hpp" the later gives you a WinMain() implementation.
- publicly derive a class from CJBTaskTrayApplet.
- implement the pure virtual functions GetTrayTip() and GetIcon() to supply the basic require by the framework.
- handle OnLeftDoubleClick() to do something when a user double clicks on you. This is where you would generally show a dialog or something.
- create an instance of your applet at global scope.
- link with TaskBarApplet.cpp.
So that this article and code can be kept up to date more easily I've provided a link to where the article is located on my own web pages. Read the full article and download the source code.
Last updated: 3 July 1998