一个简单的将GUI程序的log信息输出到关联的Console窗口中(AllocConsole SetConsoleTitle WriteConsole 最后用ShowWindow(GetConsoleWindow)进行显示)
2016-10-26 20:51
776 查看
[cpp] view plain copy
// .h 文件
#pragma once
class CConsoleDump
{
public:
explicit CConsoleDump(LPCTSTR lpszWindowTitle = NULL);
virtual ~CConsoleDump(void);
public:
BOOL DUMP(LPCTSTR lpszFmt, ...);
BOOL ShowWindow(BOOL bShowWindow);
BOOL SetWindowText(LPCTSTR lpszWindowTitle = NULL);
};
// .cpp文件
#include "StdAfx.h"
#include "ConsoleDump.h"
#define MAX_BUFFER_SIZE (10 * 1024)
CConsoleDump::CConsoleDump(LPCTSTR lpszWindowTitle)
{
if(AllocConsole())
{
if(NULL != lpszWindowTitle)
{
SetConsoleTitle(lpszWindowTitle);
}
}
}
CConsoleDump::~CConsoleDump(void)
{
FreeConsole();
}
BOOL CConsoleDump::ShowWindow(BOOL bShowWindow)
{
return ::ShowWindow(GetConsoleWindow(), bShowWindow ? SW_SHOW : SW_HIDE);
}
BOOL SetWindowText(LPCTSTR lpszWindowTitle)
{
if(NULL != lpszWindowTitle)
{
return SetConsoleTitle(lpszWindowTitle);
}
return TRUE;
}
BOOL CConsoleDump::DUMP(LPCTSTR lpszFmt, ...)
{
TCHAR szText[MAX_BUFFER_SIZE] = {0};
va_list arglist;
va_start(arglist, lpszFmt);
_vstprintf_s(szText, _countof(szText), lpszFmt, arglist);
va_end(arglist);
return WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), szText, _tcslen(szText), NULL, NULL);
}
// 测试使用
CConsoleDump m_dump; // 定义为类的成员变量
// 需要的地方利用CConsoleDump::DUMP函数输出log信息即可
m_dump.DUMP(_T("Hello, World!\r\n"));
这只是个简单的封装了Console相关的几个函数,关于更多的Console相关的控制,可以参考MSDN文档中的
http://blog.csdn.net/visualeleven/article/details/7628564
// .h 文件
#pragma once
class CConsoleDump
{
public:
explicit CConsoleDump(LPCTSTR lpszWindowTitle = NULL);
virtual ~CConsoleDump(void);
public:
BOOL DUMP(LPCTSTR lpszFmt, ...);
BOOL ShowWindow(BOOL bShowWindow);
BOOL SetWindowText(LPCTSTR lpszWindowTitle = NULL);
};
// .cpp文件
#include "StdAfx.h"
#include "ConsoleDump.h"
#define MAX_BUFFER_SIZE (10 * 1024)
CConsoleDump::CConsoleDump(LPCTSTR lpszWindowTitle)
{
if(AllocConsole())
{
if(NULL != lpszWindowTitle)
{
SetConsoleTitle(lpszWindowTitle);
}
}
}
CConsoleDump::~CConsoleDump(void)
{
FreeConsole();
}
BOOL CConsoleDump::ShowWindow(BOOL bShowWindow)
{
return ::ShowWindow(GetConsoleWindow(), bShowWindow ? SW_SHOW : SW_HIDE);
}
BOOL SetWindowText(LPCTSTR lpszWindowTitle)
{
if(NULL != lpszWindowTitle)
{
return SetConsoleTitle(lpszWindowTitle);
}
return TRUE;
}
BOOL CConsoleDump::DUMP(LPCTSTR lpszFmt, ...)
{
TCHAR szText[MAX_BUFFER_SIZE] = {0};
va_list arglist;
va_start(arglist, lpszFmt);
_vstprintf_s(szText, _countof(szText), lpszFmt, arglist);
va_end(arglist);
return WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), szText, _tcslen(szText), NULL, NULL);
}
// 测试使用
CConsoleDump m_dump; // 定义为类的成员变量
// 需要的地方利用CConsoleDump::DUMP函数输出log信息即可
m_dump.DUMP(_T("Hello, World!\r\n"));
这只是个简单的封装了Console相关的几个函数,关于更多的Console相关的控制,可以参考MSDN文档中的
http://blog.csdn.net/visualeleven/article/details/7628564
相关文章推荐
- 一个简单的将GUI程序的log信息输出到关联的Console窗口中
- 一个简单的将GUI程序的log信息输出到关联的Console窗口中
- mfc(win32)gui程序中添加console信息输出输出窗口
- GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
- MFC(win32GUI)程序中显示Dos调试信息.console.显示控制台界面.标准输出.
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- C# 不用IDE 创建一个简单的Window窗口程序
- 一个可以用于输出信息的窗口程序
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 在cmd启动一个MFC程序,printf把信息输出到启运它的那个CMD窗口
- OpenCV 2 学习笔记(3): 一个简单的opencv程序:在Console上显示图像
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 写一个简单的程序,实现添加多本图书信息,和遍历输出图书信息
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 使用log4cxx在GUI 程序中将信息输出到Console
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- MFC,Win32程序向控制台(Console)窗口输出调试信息
- 通过封装编写Book类。要求:类具有私有属性书名title、页数pageNum、类型type(默认为计算机类),并为这三个属性分别编写set和get方法。其中,页数不能少于200页,否则输出错误信息,
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息