我创建了个基于对话框的应用程序
在对话框初始化函数中增加了以下隐藏对话框代码
WINDOWPLACEMENT   wp;   
wp.length=sizeof(WINDOWPLACEMENT);   
wp.flags=WPF_RESTORETOMAXIMIZED;   
wp.showCmd=SW_HIDE;   
SetWindowPlacement(&wp);
ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
在XP系统中,对话框能隐藏
但在windows2003中却隐藏不了
为什么呀

解决方案 »

  1.   

    在WM_SHOWWINDOW的響應函數中
    ShowWindow(SW_HIDE);
    應該就行了
      

  2.   

    我换了一种方法,也起到了对话框隐藏的效果:
    就是在onpaint()函数中调用showwindow()函数
    但有个缺点就是:对话框就在屏幕中闪一下才隐藏
      

  3.   

    void CYOURDlg::HideWindow(bool b_hide)
    {
    if(b_hide)
    {
    SetWindowPos(&wndBottom, 0,0,0,0,SWP_HIDEWINDOW);
    long lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);
    lExStyle &= ~WS_EX_APPWINDOW; //
    lExStyle |= WS_EX_TOOLWINDOW; //
    ::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);
    ShowWindow(SW_SHOWNA);
    }
    else
    {
    SetWindowPos(&wndTop, 0,0,100,100,SWP_SHOWWINDOW);
    }
    }在对话框的INIT里调用HideWindow(1)即可
      

  4.   

    ::SendMessage(m_hWnd, WM_CLOSE, 0, 0);
      

  5.   

    oldn_CC_bird() 的方法可以
    谢谢