步驟/方法
-
新建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。