当单击标题栏最小化按钮“-”的时候,我想让窗体进入托盘,代码如下,
但是为什么已经进入托盘了,窗体还在任务栏上?我明明已经ShowWindow(SW_HIDE)隐藏它了阿?
怎么在任务栏上不显示程序呢?(我的程序室 DIALOG BASED)
LRESULT CAutoDownDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{if(message == WM_SYSCOMMAND)
{
if(wParam == SC_MINIMIZE)
{//最小化时弄到托盘里面去
NOTIFYICONDATA tnd;
tnd.cbSize=sizeof(NOTIFYICONDATA);
tnd.hWnd=this->m_hWnd;
tnd.uID=IDR_MAINFRAME;
tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
tnd.uCallbackMessage=WM_NOTIFYICON;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(tnd.szTip,"my app V2.0");
Shell_NotifyIcon(NIM_ADD,&tnd);
ShowWindow(SW_HIDE); //隐藏界面,但是却在任务栏上无法隐藏 }
}return CDialog::WindowProc(message, wParam, lParam);}
但是为什么已经进入托盘了,窗体还在任务栏上?我明明已经ShowWindow(SW_HIDE)隐藏它了阿?
怎么在任务栏上不显示程序呢?(我的程序室 DIALOG BASED)
LRESULT CAutoDownDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{if(message == WM_SYSCOMMAND)
{
if(wParam == SC_MINIMIZE)
{//最小化时弄到托盘里面去
NOTIFYICONDATA tnd;
tnd.cbSize=sizeof(NOTIFYICONDATA);
tnd.hWnd=this->m_hWnd;
tnd.uID=IDR_MAINFRAME;
tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
tnd.uCallbackMessage=WM_NOTIFYICON;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(tnd.szTip,"my app V2.0");
Shell_NotifyIcon(NIM_ADD,&tnd);
ShowWindow(SW_HIDE); //隐藏界面,但是却在任务栏上无法隐藏 }
}return CDialog::WindowProc(message, wParam, lParam);}
在SC_MINIMIZE时,改变窗体的样式为TOOLWINDOW,
还原的时候,再改回来
后面加上一句 : return 0;
在OnSize里面增加ShowWindow(SW_HIDE)