////////////////////////////////////////////////////////////////////////// // Class Name: SShellNotifyIcon // Description:show ShellNotifyIcon // Creator: 359501300 // Version: 2014.9.19 - 1.0 - Create ////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "SShellNotifyIcon.h" SShellNotifyIcon::SShellNotifyIcon() { memset(&nid,0,sizeof(nid)); } SShellNotifyIcon::~SShellNotifyIcon() { Hide(); } void SShellNotifyIcon::Create(HWND hOwner,HICON hIcon,UINT uFlags, UINT uCallbackMessage, UINT uId, LPCSTR szTip) { IniNotifyIconData(hOwner,hIcon,uFlags, uCallbackMessage, uId, szTip); } BOOL SShellNotifyIcon::Show() { //未初使化NotifyIconData if (nid.cbSize != sizeof(NOTIFYICONDATA)) return FALSE; return Shell_NotifyIcon(NIM_ADD, &nid); } BOOL SShellNotifyIcon::Hide() { return Shell_NotifyIcon(NIM_DELETE, &nid); } void SShellNotifyIcon::IniNotifyIconData(HWND hOwner,HICON hIcon,UINT flags, UINT callbackmsg, UINT ID, LPCSTR szTip) { nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hOwner; nid.uID = ID; nid.uFlags = flags;//NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = callbackmsg; nid.hIcon = hIcon; //_tcscpy_s(nid.szTip, szTip); strcpy(nid.szTip,szTip); }