📄 console.cpp
字号:
// Console.cpp: implementation of the CConsole class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Console.h"
#include <stdio.H>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CConsole g_Console;
CConsole::CConsole()
{
m_pIConsole = NULL;
// CoInitialize(NULL);
}
CConsole::~CConsole()
{
// CoUninitialize();
}
/*
BOOL CConsole::Init(int MaxButton,CUSTOM_BUTTON* pButtonInfo, void (*CommandFunc)(char* szCommand))
{
// 快急 I4DyuchiCOSOLE哪器惩飘 积己
HRESULT hr;
hr = CoCreateInstance(
CLSID_4DyuchiCONSOLE,
NULL,
CLSCTX_INPROC_SERVER,
IID_4DyuchiCONSOLE,
(void**)&m_pIConsole);
if(FAILED(hr))
return FALSE;
// 哪器惩飘狼 能贾阑 积己.积己窍扁 困秦 DESC_CONSOLE备炼眉甫 盲况辑 弊 器牢磐甫 持绢具茄促.
// DESC_CONSOLE备炼眉绰 颇老肺彪阑 困茄 FILE_WRITE_INFO客 拳搁肺彪阑 困茄 DISPLAY_INFO
// 甫 器窃茄促. FILE_WRITE_INFO篮 颇老肺彪阑 窍瘤 臼阑 版快 NULL肺 持栏搁 等促.弊矾唱
// DISPLAY_INFO绰 馆靛矫 盲况持绢具 茄促.
// 酒贰狼 荐摹绰 鼻厘荐摹捞促.措帆 酒贰 沥档狼 蔼栏肺 技泼窍搁 公府啊 绝促.
DISPLAY_INFO display;
display.dwMaxAccessibleThreadNum = 5; // 捞 能贾 哪器惩飘狼 叼胶敲饭捞 概聪廉甫 悼矫俊 撅技胶且 胶饭靛 弥措肮荐
display.dwMaxStringBufferNum = 10000; // 弥措 10000扼牢狼 滚欺甫 啊柳促.
display.dwMinMaintainBufferNum = 5000; // 拳搁俊 焊咯瘤绰 弥措 扼牢荐绰 10000-5000栏肺 5000扼牢阑 杭荐 乐促.
display.dwDisplayRefreshRate = 1000; // 盎脚林扁绰 500ms捞促.
display.dwFilteredLevel = LOG_DEBUG; // 肺弊皋矫瘤 快急鉴困啊 LOG_DEBUG焊促 撤栏搁 钎矫窍瘤 臼绰促.
WRITE_FILE_INFO file;
file.dwMaxAccessibleThreadNum = 5; // 捞 能贾 哪器惩飘狼 颇老 肺弊 概聪廉甫 撅技胶且 胶饭靛 弥措肮荐
file.dwLimitedBufferSizeToWriteFile = 8192; // 肺弊 皋矫瘤啊 8192官捞飘 阶老锭付促 角力肺 颇老俊 WRITE茄促.
file.dwFilteredLevel = LOG_DEBUG; // 肺弊皋矫瘤 快急鉴困啊 LOG_DEBUG焊促 撤栏搁 颇老俊 扁废窍瘤 臼绰促.
DESC_CONSOLE desc;
desc.OnCommandFunc = CommandFunc; // 虐焊靛 哪盖靛 橇芬橇飘俊辑 哪盖靛甫 持菌阑锭 parsing且 妮归窃荐 技泼
desc.dwCustomButtonNum = MaxButton; // 荤侩磊 沥狼 滚瓢 2俺 荤侩窃.
desc.pCustomButton = pButtonInfo; // 目胶乓 捞亥飘 器牢磐 技泼
desc.szFileName = "log.txt"; // write且 颇老疙.颇老肺彪窍瘤 臼阑 版快 NULL
desc.pDisplayInfo = &display; // 拳搁 叼胶敲饭捞甫 困茄 DISPLAY_INFO 备炼眉 器牢磐.公炼扒 技泼秦具茄促.
desc.pWriteFileInfo = &file; // 颇老肺彪阑 困茄 WRITE_FILE_INFO 备炼眉 器牢磐.荤侩窍瘤 臼栏搁 NULL
m_pIConsole->CreateConsole(&desc); // 能贾 积己
return true;
}
*/
BOOL CConsole::Init(int MaxButton,MENU_CUSTOM_INFO* pMenuInfo, cbRetrnFunc commandFunc)
{
HRESULT hr;
hr = CoCreateInstance(
CLSID_ULTRA_TCONSOLE,
NULL,
CLSCTX_INPROC_SERVER,
IID_ITConsole,
(void**)&m_pIConsole);
if(FAILED(hr))
return FALSE;
LOGFONT logFont;
logFont.lfHeight = 17;
logFont.lfWidth = 0;
logFont.lfEscapement = 0;
logFont.lfOrientation = 0;
logFont.lfWeight = FW_BOLD;
logFont.lfItalic = 0;
logFont.lfUnderline = 0;
logFont.lfStrikeOut = 0;
logFont.lfCharSet = HANGUL_CHARSET;
logFont.lfOutPrecision = 0;
logFont.lfClipPrecision = 0;
logFont.lfQuality = 0;
logFont.lfPitchAndFamily = 0;
strcpy(logFont.lfFaceName, "奔覆");
HWND hWnd;
MHTCONSOLE_DESC desc;
desc.szConsoleName = "Darkstory";
desc.dwRefreshRate = 1000;
desc.wLogFileType = 0;//LFILE_LOGOVERFLOWFILEOUT;
desc.szLogFileName = "log.txt";
desc.dwFlushFileBufferSize = 10000;
desc.dwDrawTimeOut = 1000*60*3;
desc.wMaxLineNum = 1000;
desc.dwListStyle = TLO_NOTMESSAGECLOSE|TLO_LINENUMBER|TLO_SCROLLTUMBTRACKUPDATE;
desc.Width = 800;
desc.Height = 400;
desc.pFont = &logFont;
desc.nCustomMunuNum = MaxButton;
desc.cbReturnFunc = commandFunc;
desc.pCustomMenu = pMenuInfo;
m_pIConsole->CreateConsole(&desc, &hWnd);
return TRUE;
}
void CConsole::Release()
{
if(m_pIConsole)
{
m_pIConsole->Release();
m_pIConsole = NULL;
}
}
void CConsole::Log(int LogType,int MsgLevel,char* LogMsg,...)
{
static char va_Temp_Buff[1024];
va_list vl;
va_start(vl, LogMsg);
vsprintf(va_Temp_Buff, LogMsg, vl);
va_end(vl);
switch(LogType)
{
case eLogDisplay:
m_pIConsole->OutputFile(va_Temp_Buff,strlen(va_Temp_Buff));
break;
case eLogFile:
{
//m_pIConsole->WriteFile(va_Temp_Buff,strlen(va_Temp_Buff),MsgLevel);
}
break;
default:
MessageBox(NULL,"Not Defined LogType",0,0);
}
}
void CConsole::LOG(int MsgLevel,char* LogMsg,...)
{
static char va_Temp_Buff[1024];
va_list vl;
va_start(vl, LogMsg);
vsprintf(va_Temp_Buff, LogMsg, vl);
va_end(vl);
if(m_pIConsole)
m_pIConsole->OutputDisplay(va_Temp_Buff,strlen(va_Temp_Buff));
}
void CConsole::WaitMessage()
{
m_pIConsole->MessageLoop();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -