当单击标题栏最小化按钮“-”的时候,我想让窗体进入托盘,代码如下,
但是为什么已经进入托盘了,窗体还在任务栏上?我明明已经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);}

解决方案 »

  1.   

    关键是,我的窗体必须保留标题栏的最小化按钮“-”和关闭按钮"X",所以不能注册为TOOLWINDOW样式(因此样式无"-"最小化),请问这种情况怎么不在任务栏显示???
      

  2.   

    my system is: windows 2000 english version ,visual c++ english version
      

  3.   

    那这样:
    在SC_MINIMIZE时,改变窗体的样式为TOOLWINDOW,
    还原的时候,再改回来
      

  4.   

    在ShowWindow(SW_HIDE); //隐藏界面,但是却在任务栏上无法隐藏
    后面加上一句 : return 0;
      

  5.   

    映射OnSize函数
    在OnSize里面增加ShowWindow(SW_HIDE)