步骤/方法
-
新建MFC项目,项目名为[nokongbai](根据自己的程序定,这里只是一个示例)
-
新建MFC多文档程序,或者单文档程序(这里选项多文档,只作为示例,选单文档亦可,请根据自己程序定夺),作为示例程序,在选择完多文档后直接点击【Finish】按钮,完成项目新建,或者也可以连续点击【Next】,一步步完成新建项目。
-
项目新建完成后编译(快捷方式F7),链接默认项目,程序没有错误和警告
-
运行MFC项目,程序自动生成空白窗口
-
在VC++【工作区Workspace】下选择【文档视图FileView】标签页,打开项目文件夹【源文件Source Files】下的[nokongbai.cpp]文件(如果你的项目名为***则此处应该打开[***.cpp])
-
在ProcessShellCommand调用之前加 cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing 。
-
保存项目,编译、链接、运行,程序不在自动生成空白窗口。
注意事项
-
本经验作为示例,选择新建MFC多文档项目,实际编程中同样适用于MFC单文档程序。
-
添加代码:cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing
-
原理:在InitInstance()中,有一个命令行的执行过程,当命令行上没有参数时,函数ParseCommandLine(cmdInfo)会将CCommandLineInfo::m_nShellCommand成员置为CCommandLineInfo::FileNew,这将导致ProcessShellCommand调用CWinApp::OnFileNew成员函数。这里我们要防止程序在开始时调用OnFileNew。