我想做一个隐藏运行的单文档程序,向导生成的代码中,App类的InitInstance函数有这么两个语句:
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
我把SW_SHOW换成SW_HIDE,确实实现了主窗口的隐藏,但是程序启动时会闪一下,主窗口出现一下才隐藏,怎么才能不让它闪那么一下呢?或者说有没有其它办法来实现启动时的隐藏呢?请大家帮忙,谢谢!

解决方案 »

  1.   

    估计ProcessShellCommand已经把窗口显示了
    也许你改用LoadFrame方式载入主窗口,象WMI那样
      

  2.   

    1楼说的对,刚才我调试了一下,果然是ProcessShellCommand显示了窗口,但是该怎么去改呢?
      

  3.   

    重载 CMainFrame::ActivateFrame
    nCmdShow 修改为SW_HIDE 既不会出现闪一下的问题void CMainFrame::ActivateFrame(int nCmdShow) 
    {
    // TODO: Add your specialized code here and/or call the base class
    nCmdShow = SW_HIDE;
    CFrameWnd::ActivateFrame(nCmdShow);
    }