添加资源 Menu,如 IDR_MENU1;
头文件添加
#define WM_TRAY_MSG WM_USER+1000
CMenu m_trayPopupMenu;//菜单
afx_msg void OnShowMenu();//显示主程序
afx_msg void OnExitMenu();//退出
BOOL m_bTray; //托盘标记;初始元为FALSE
BOOL SetTray(BOOL bTray); //设置托盘效果
afx_msg LRESULT OnTrayCallBackMsg(WPARAM wp, LPARAM lp); //托盘处理函数
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);////修改 ON_WM_SYSCOMMAND() 对应的
OnSysCommand 函数,对 最小化时启动托盘 的支持
源文件添加
//消息响应
ON_MESSAGE(WM_TRAY_MSG, &CMainDialog::OnTrayCallBackMsg)
ON_COMMAND(ID_SHOW_MENU, &CMainDialog::OnShowMenu)
ON_COMMAND(ID_EXIT_MENU, &CMainDialog::OnExitMenu)
ON_WM_SYSCOMMAND()
//OnInitDialog()添加
m_trayPopupMenu.LoadMenu(IDR_MENU1);
m_bTray = FALSE;
BOOL CMainDialog::SetTray(BOOL bTray)
{
BOOL bRet = FALSE;
NOTIFYICONDATA tnd;
tnd.cbSize = sizeof(NOTIFYICONDATA);
tnd.hWnd = m_hWnd;
tnd.uID = IDR_MAINFRAME;
if (bTray)
{