为了让自己的软件更加个性化,经常需要添加托盘图标功能,下面简单介绍怎样添加一个托盘图标:
1.初始化
NOTIFYICONDATA nd;
nd.cbSize= sizeof (NOTIFYICONDATA);
nd.hWnd= m_hWnd;
nd.uID= IDR_MAINFRAME;
nd.uFlags= NIF_ICON|NIF_MESSAGE|NIF_TIP;
nd.uCallbackMessage= WM_NOTIFYICON; //注意,此处的WM_NOTIFYICON消息是响应托盘操作
nd.hIcon= m_hIcon;
strcpy(nd.szTip, "我的托盘");
Shell_NotifyIcon(NIM_ADD, &nd);
2.添加WM_NOTIFYICON
a)#define WM_NOTIFYICON WM_USER+1
b)ON_MESSAGE(WM_NOTIFYICON, OnNotifyIcon)//手工添加消息映射
c)LONG OnNotifyIcon(WPARAM wParam, LPARAM lParam) //declare in .h file
d)实现OnNotifyIcon函数操作
//注意Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATA pnid )的使用,可以添加删除托盘图标
dwMessage 参数如下:
NIM_ADD | Adds an icon to the status area. |
NIM_DELETE | Deletes an icon from the status area. |
NIM_MODIFY | Modifies an icon in the status area. |