VS2008向MFC 对话框 添加托盘图标(显示和消失)
2014年5月29日19:52:05
1、使用VS2008创建一个空的MFC对话框程序。
在头文件中添加:
#define WM_SHOWTASK (WM_USER+10)
2、在类中添加
NOTIFYICONDATA nid;
3、在OnInitDialog()函数中添加:
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=this-> m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
_tcscpy_s(nid.szTip,sizeof(nid.szTip), _T("计划任务提醒 "));//信息提示条为“计划任务提醒”
Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标
4、重载虚函数DestroyWindow():
virtual BOOL DestroyWindow();
BOOL CtestttDlg::DestroyWindow()
{
Shell_NotifyIcon(NIM_DELETE, &nid);//删除图标
return CDialog::DestroyWindow();
}