首先我们在框架类里定义一个托盘的结构体:
NOTIFYICONDATA m_notify;
在框架的OnCreate函数添加如下代码:
m_notify.cbSize = sizeof(m_notify);
m_notify.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
m_notify.hIcon = theApp.LoadIcon(IDR_MAINFRAME); //载入托盘的图标资源
m_notify.hWnd = this->m_hWnd;
wcscpy_s(m_notify.szTip,64,_T("hello")); //设置托盘的提示信息
//变成自定义消息修改一下两项
//m_notify.uID = 0;
//m_notify.uCallbackMessage = WM_COMMAND;
//托盘图标发送自定义消息
m_notify.uID = ID_MENU_MSG; //托盘的ID,自己定义个
m_notify.uCallbackMessage = UM_MESSAGE; //鼠标放到托盘上的时候 不停地发送消息,这里我们让它发送自定义消息
Shell_NotifyIcon(NIM_ADD,&m_notify); //为应用程序添加托盘
这样我们就有托盘图标了,但是退出的时候,图标还是会残留。怎么办呢?我们需要在程序退出之前,删掉托盘的图标
<