请问我的程序最小化到系统托盘时,任务栏上怎么不消失???
我按照 hyamw(林锋) 介绍的方法做托盘程序,可是任务栏上的程序不消失,我该如何实现托盘程序??(编程环境winxp sp2 + vc.net)
(http://community.csdn.net/Expert/topic/3824/3824607.xml?temp=.9463312)
NOTIFYICONDATA m_tnid; //类成员变量
m_tnid.cbSize=sizeof(NOTIFYICONDATA);
m_tnid.hWnd=m_hWnd;
m_tnid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
m_tnid.uCallbackMessage=MYWM_NOTIFYICON;
m_tnid.uID=IDR_MAINFRAME;
_tcscpy(m_tnid.szTip,_T("剪贴板监视器"));
m_tnid.hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
Shell_NotifyIcon(NIM_ADD,&m_tnid);
SetWindowText(_T("剪贴板监视器"));
我如果按照下面的做法可以实现任务栏上的程序消失,但是程序占用大量的内存
void CMainFrame::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(!m_bShutdown)
ShowWindow(SW_HIDE);
else
{
pInfo->iConnet=-2;
while (pRunThread!=NULL)
{
Sleep(100);
}
Shell_NotifyIcon(NIM_DELETE,&m_tnid);
CFrameWnd::OnClose();
}
}