用MFC建立一个SDI程序,它的主窗口究竟是在什么时候显示出来的?InitInstance中的ShowWindow函数其实并不是第一次显示主窗口的代码,注释掉以后程序一样可以显示主窗口,那么MFC究竟在什么时候什么地方把主窗口显示出来了呢?问这个问题的目的主要是想不让程序一开始运行就显示主窗口,而是由自己控制主窗口的显示,请问各位高手如何解决这个问题?谢谢!

解决方案 »

  1.   

    if (!ProcessShellCommand(cmdInfo))
    return FALSE;就在这一行
      

  2.   

    从BOOL CWinApp::ProcessShellCommand(CCommandLineInfo& rCmdInfo)中跟踪就可以看到了!呵呵
      

  3.   

    也就是InitInstance()函数中的:
    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
    你单步跟踪,看看。下班了,明天我也来研究一下!
      

  4.   

    只需要在应用类的InitInstance函数中
    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
    这段代码之前添加如下代码即可
    m_nCmdShow=SW_HIDE;
      

  5.   

    if (!ProcessShellCommand(cmdInfo))
    return FALSE;
      

  6.   

    to DentistryDoctor: 
       可否具体告知如何隐藏?我试过一些办法,都没成功过。。to Itg1831 & vcleaner:
       谢谢你们告知MFC显示主窗口的地方,不过,这似乎还不能解决我不让主窗口自动显示的目的,不知道两位仁兄有什么办法能通过这个处理命令行的函数来解决我的问题?
      

  7.   

    谢谢Itg1831:)
    困扰我好一阵子的问题终于解决了,非常感谢各位的帮助!另外,我还是想知道DentistryDoctor兄说的在OnCreate中隐藏的方法,所以,稍候再结贴吧:)
      

  8.   

    http://blog.csdn.net/enoloo/archive/2004/06/07/17638.aspx