我做了一个小助手但我不想让这个窗体在任务栏中显示出来我该如何实现呢哪位帮帮我呢?

解决方案 »

  1.   

    在MainFrm.cpp的PreCreateWindow中加入
    if (!::IsWindow(m_wndInvisible.m_hWnd)){
    LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);
    if (!m_wndInvisible.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, 0))
                return FALSE;
    } cs.hwndParent = m_wndInvisible.m_hWnd;
      

  2.   

    SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
      

  3.   

    BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    //SAMPLE: modified this function to use our owner if (!CFrameWnd::PreCreateWindow(cs))
    return FALSE; //SAMPLE: end of changed lines //SAMPLE: added these lines to create our invisible owner // we have to check since PreCreateWindow may be called
    // more than once if (m_wndOwner.m_hWnd == NULL)
    {
    // we don't care about any attributes of our hidden window LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0); if (!m_wndOwner.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    NULL, 0))
    return FALSE;
    } // note that we _don't_ set WS_CHILD... making the _owner_
    // window of our frame some invisible window. cs.hwndParent = m_wndOwner.m_hWnd;
    return TRUE; //SAMPLE: end of added lines
    }
      

  4.   

    SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    查看有关托盘编程的资料。