博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC窗体程序中添加调试控制台
阅读量:4948 次
发布时间:2019-06-11

本文共 1020 字,大约阅读时间需要 3 分钟。

在编写复杂程序的过程中,我们经常需要将一些信息输出到文件或者屏幕上。较控制台应用程序,MFC窗体程序要显得麻烦一些!

下面有2种方法来实现为MFC窗体程序添加调试控制台,方便程序员调试程序和了解当前程序的运行状态。

重要Windows API:AllocConsole();   //创建Console窗口

                         FreeConsole();     //销毁Console窗口

(1)启动控制台窗口

需要包含的头文件

#include <io.h>

#include <cstdio>

#include <FCNTL.H>

void CTestDebugConsoleDlg::OnBnClickedButton6(){// start debugconsoleAllocConsole();intptr_t handle= (intptr_t)GetStdHandle(STD_OUTPUT_HANDLE);int hCrt = _open_osfhandle(handle,_O_TEXT);FILE * hf = _fdopen( hCrt, "w" );*stdout =*hf;char title[1024] ={
0};sprintf_s(title, 1024, "DebugCosole[%u]", (unsigned long)(this->GetSafeHwnd()));SetConsoleTitle(title);SetConsoleTextAttribute((HANDLE)handle, FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY);HWND hwnd=NULL; while(NULL==hwnd) hwnd=::FindWindow(NULL,(LPCTSTR)title); HMENU hmenu = ::GetSystemMenu ( hwnd, FALSE ); DeleteMenu ( hmenu, SC_CLOSE, MF_BYCOMMAND );}

MFC窗体测试程序:

Console信息显示:

代码下载(VS2008):

 

(2)设计另外一个MFC窗体程序

关于这种方法请详见 Azure Product 的 “”。

转载于:https://www.cnblogs.com/rainbow70626/p/8503331.html

你可能感兴趣的文章
[bzoj4872] [洛谷P3750] [六省联考2017] 分手是祝愿
查看>>
Shiro Quartz之Junit測试Session管理
查看>>
lunix shell 基础经常使用整理
查看>>
hdu 4961 Boring Sum(数学题)
查看>>
为什么没有好用的Android游戏引擎?
查看>>
Achieving High Availability and Scalability - ARR and NLB
查看>>
jQuery的deferred对象详解
查看>>
命令行连WiFi
查看>>
PHP扩展下载指导
查看>>
练习7第四题
查看>>
CodeForces - 633D Fibonacci-ish 大数标记map+pair的使用
查看>>
MyBatis定义复合主键
查看>>
Memcache+Tomcat9集群实现session共享(非jar式配置, 手动编写Memcache客户端)
查看>>
C和OC的不同
查看>>
JAVA基础代码分享--DVD管理
查看>>
关于Nginx499、502和504的分析
查看>>
MVC复杂类型的模型绑定
查看>>
Active Record: 資料庫遷移(Migration) (转)
查看>>
flash播放音频显示波形
查看>>
什么是“批判性思维”?
查看>>