我有一個現有的簡單的MFC應用程序,用戶指定輸入文件,輸出文件,然後是一個「處理」按鈕。我想添加這個功能,以便輸入/輸出文件是命令行參數。但是,如果它們存在,我不希望GUI出現。我只是想要執行「過程」。我看到我可以在哪裏獲得命令行參數(m_lpCmdLine),但我怎麼能繞過GUI的顯示?如果我進入應用程序,它將直接進入winmain.cpp並顯示GUI,而不會進入我的任何代碼。如果命令行選項存在,如何繞過MFC應用程序中的GUI?
5
A
回答
3
MFC設置了一個名爲C [你的App名稱]應用程序(例如CExampleApp)的類,存儲在[你的App名稱] .h/.cpp中(例如Example.h/.cpp)在這裏,你將擁有一個名爲「InitInstance」的函數(再次由MFC自動生成)。如果您已經創建了一個基於對話框的應用程序,然後你就會有一些代碼,看起來像這樣的功能:
CExampleDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
具體的「dlg.DoModal()」調用會打電話給你的對話窗口。如果你避免這種情況,GUI將永遠不會啓動。
如果您使用的是MDI應用程序,然後你就會有一些像這樣的代碼:
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
這將創建並顯示您的主窗口。避免這種情況,並且不會創建窗口。但是您必須從InitInstance函數返回FALSE,不過或者它將進入應用程序消息泵。
相關問題
- 1. 如何獲取mfc應用程序中的命令行參數?
- 2. 如何在後臺從命令行啓動GUI應用程序?
- 3. 如何通過命令行在gui應用程序中填充文本框?
- 4. 如何從命令行獲取MFC應用程序以阻止?
- 5. 如何在GNU Info中獲得程序的命令行選項?
- 6. 如何使你的MFC應用程序在Windows7和Vista中繞過UAC
- 7. 如何通過WPF應用程序在CMD中執行命令?
- 8. 在RYU應用程序中註冊新的命令行選項
- 9. 如何將wireshark gui命令導出爲tshark命令行程序?
- 10. MFC/C++應用程序中的Rich gui
- 11. python程序中的命令行選項
- 12. 如何通過GUI運行matlab命令?
- 13. 如何創建一個可以在GUI對話模式下或通過命令行啓動的C++ MFC程序?
- 14. 如果在命令行中指定了幫助選項,我該如何終止應用程序?
- 15. 解析CoreFoundation應用程序中的命令行選項?
- 16. 如何通過命令行選項包裝行選項
- 17. 如何從GUI應用程序向控制檯應用程序發送命令
- 18. 如何通過您的應用程序運行traceroute命令?
- 19. 通過命令行在命令行中執行桌面應用程序而不顯示其GUI窗口
- 20. MFC - 擴展應用程序從命令行運行
- 21. 如何在Android應用程序中運行重命名shell命令(已過濾)
- 22. 如何運行通過在C#服務應用程序的GUI應用程序
- 23. 如何製作非GUI的MFC應用程序?
- 24. 如何通過命令行將iOS應用程序上傳到應用程序
- 25. 如何使用命令行在IIS中創建應用程序?
- 26. 如何使用命令行選項
- 27. 如何正確收集Hxt程序的命令行選項?
- 28. 通過命令行應用程序
- 29. 如果從cmd執行應用程序,寫入命令行
- 30. 如何通過命令提示符運行c#應用程序?
在我的情況下,我需要'LoadFrame()',但即使我沒有調用ShowWindow(),框架也會閃爍。我發現通過在'LoadFrame()'之前調用'CWinAppEx :: m_bLoadWindowPlacement = false;'你就沒有窗口,也沒有閃爍。 – mateuscb 2014-11-26 18:59:18