向MFC应用程序添加控制台窗口
簡介
??? 如果你曾經寫過MFC應用程序,也許你忽略了控制臺窗口。熟悉了控制臺窗口的人會認為它是如此的便捷,我就是一個,認為printf或者cout是最優秀的調試函數,可以在不打開任務管理器的情況下在控制臺中僅僅按下CTRL+C來結束不響應的程序。不幸的是,MFC應用程序默認情況下并不支持控制臺。但是在你的應用程序加入一小段代碼后,然后改變連接選項你就可以解決這個問題
?
l???????? 對于Visual Studio .NET
l???????? 對于 Visual Stduio 98 (Visual C++ 6.0)
l???????? 它是如何工作的?
?
對于Visual Studio .NET
請根據下面的步驟做:
?
1.???????? 復制以下代碼保存為"mfcconsole.cpp",在Visual Studio .NET選擇"Project"菜單的"Add Existing Item",把"mfcconsole.cpp"加進來
?
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
?
extern "C"
{
int PASCAL WinMain(HINSTANCE inst,HINSTANCE dumb,LPSTR param,int show);
};
?
int main(int ac,char *av[])
{
???????? char buf[256];
???????? int i;
???????? HINSTANCE inst;
???????? inst=(HINSTANCE)GetModuleHandle(NULL);
???????? buf[0]=0;
???????? for(i=1; i<ac; i++)
???????? {
?????????????????? strcat(buf,av[i]);
?????????????????? strcat(buf," ");
???????? }
?????? return WinMain(inst,NULL,buf,SW_SHOWNORMAL);
}
?
2.???????? 有時不知什么原因vs不編譯某些已包含的文件,這個時候,選擇"Solution Explorer"屬性頁,然后右鍵單擊"mfcconsole.cpp"文件選擇"Property",按下面的圖解設置
?
?
?
?
3.???????? 在 "Solution Explorer" 屬性頁選擇項目名字,右鍵屬性,設置如下
?
?
?
編譯一下看看效果o(∩_∩)o…,如果你想刪除控制臺,你只需要將上圖的SubSystem恢復至/SUBSYSTEM:WINDOWS
?
對于 Visual Stduio 98 (Visual C++ 6.0)
?
Here's how to add a printf-able console window to your MFC application.
?
1.?????? 同.net的(1)
??
2. 右鍵單擊mfcconsole.cpp文件,選擇” Setting”,設置如下圖:
?
?
?
?3. 在項目菜單中點擊設置,設置如下圖,將"/subsystem:windows"改為"/subsystem:console"
?
?
?
它是如何工作的
連接選項"/subsystem:*****"控制程序是否有一個控制臺窗口,
l???????? 如果是"/subsystem:console":程序啟動控制臺,從main函數開始執行
l???????? 如果是"/subsystem:windows":不啟動控制臺,從WinMain開始執行
?
三、
?
#include?? <io.h>
?
#include?? <fcntl.h>
?
#include?? <io.h>
?
#include?? <fcntl.h>
?
void?? OpenConsole()
?
{
?
AllocConsole();
?
HANDLE?? handle?? =?? GetStdHandle(STD_OUTPUT_HANDLE);
?
int?? hCrt?? =?? _open_osfhandle((long)handle,_O_TEXT);
?
FILE?? *?? hf?? =?? _fdopen(?? hCrt,?? "w"?? );
?
*stdout?? =?? *hf;
?
}
?
添加CXXApp為成員函數
?
InitInstance調用OpenConsole();
?
就可以調出Console用print輸出了
?
轉載于:https://www.cnblogs.com/kiss007/archive/2012/08/18/2645429.html
總結
以上是生活随笔為你收集整理的向MFC应用程序添加控制台窗口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openstack 安装windows系
- 下一篇: GenePix Pro 3.0