CTrayNotifyIcon v1.77 An MFC/WTL class to manipulate tray icons

This class encapsulates the Shell_NotifyIcon SDK call. This API is used to create those nifty little icons such as volume control you see in the tray notification area on Windows.

CTrayNotifyIcon screen capture

The class hides a lot of the drudgery of calling the API directly and provides a nice clean C++ interface to using it. Overloaded member functions are provided to set and get the ToolTip text, icon and notification window. The class also provides a default implementation to bring up a context menu and provides a default menu item which is executed when you double click the icon. The class also provides auto cleanup and resurrection of icons if the shell unexpectedly crashes.

 

The enclosed zip file contains the CTrayNotifyIcon source code and also includes a VC 2017 workspace to build a small demonstration app in MFC as well as WTL.

 

Copyright

 

Updates

v1.77 (28 October 2023)

v1.76 (18 June 2023)

v1.75 (21 May 2022)

v1.74 (18 December 2021)

v1.73 (12 May 2020)

v1.72 (3 April 2020)

v1.71 (24 December 2019)

v1.70 (15 September 2019)

v1.69 (22 April 2019)

v1.68 (7 October 2018)

v1.67 (26 November 2017)

v1.66 (27 April 2016)

v1.65 (26 November 2010)

v1.64 (6 November 2010)

v1.63 (10 July 2010)

v1.62 (10 April 2010)

v1.61 (22 June 2008)

v1.60 (12 March 2008)

v1.59 (13 October 2007)

v1.58 (15 June 2007)

v1.57 (15 September 2006)

v1.56 (19 August 2006)

v1.55 (19 July 2006)

v1.54 (6 July 2006)

v1.53 (5 July 2006)

v1.52 (3 July 2006)

v1.51 (27 June 2006)

v1.50 (3 March 2006)

v1.49 (23 July 2004)

v1.48 (2 April 2003)

v1.47 (31 March 2003)

v1.46 (21 March 2003)

25 November 2002

v1.45 (28 August 2001)

v1.44 (26 August 2001)

v1.43 (13 June 2001)

v1.42 (10 February 2001)

v1.41 (1 January 2001)

21 May 2000

26 May 1999

v1.4 (16 May 1999)

11 May 1999

10 May 1999

v1.33 (9 May 1999)

v1.32 (28 January 1999)

v1.31 (27 January 1999)

v1.3 (22 July 1998)

v1.2 (23 June 1998)

v1.1 (25 November 1997)

v1.0 (14 May 1997)