Console是Windows控制台的增强的实现。受eConsole(https://www.informatik.uni-frankfurt.de/~corion)项目的启发而创建。
Console功能包括:
多选项卡(多标签页)支持
像文本编辑器一样选择文本
设置不同类型的背景(纯色,图形,透明度)
设置字体
各种不同的窗口风格
注:Console不是一个Shell,因此,它没有实现Shell的特性,如命令完成,语法着色,命令行历史等。
Console是你选择的Shell(cmd.exe,4NT,bash等)的更强大的终端。
=============================================================================
官方版本不支持中文显示和输入,并且窗口最大化
我们可以对其做一些修改来实现中文显示和输入。
1,中文显示
把下面的内容保存为reg文件:
WindowsRegistryEditorVersion5.00
[HKEY_CURRENT_USER\Console\Console2commandwindow]
"CodePage"=dword:000003a8
"ScreenBufferSize"=dword:01f40050
"WindowPosition"=dword:00ee0127
"FontSize"=dword:000e0000
"FontFamily"=dword:00000036
"FontWeight"=dword:00000190
"FaceName"="新宋体"
2,中文输入(需要修改源代码)
修改ConsoleView.cpp文件:
BOOLConsoleView::PreTranslateMessage(MSG*pMsg)
{
if((pMsg->message==WM_KEYDOWN)||
(pMsg->message==WM_KEYUP)||
(pMsg->message==WM_SYSKEYDOWN)||
(pMsg->message==WM_SYSKEYUP))
{
//Avoidcalling::TranslateMessageforWM_KEYDOWN,WM_KEYUP,
//WM_SYSKEYDOWNandWM_SYSKEYUP(exceptforwParam==VK_PACKET,
//whichissentbySendInputwhenpastingtext).
///
//ThispreventsWM_CHARandWM_SYSCHARmessages,enablingstufflike
//handling'dead'charactersinputandpassingallkeystoconsole.
if(pMsg->wParam==VK_PACKET)returnFALSE;
//::DispatchMessage(pMsg); //原代码中的内容
//添加输入中文功能:begin(参考自https://download.csdn.net/detail/zhangj7851/2513105)
::TranslateMessage(pMsg);
if(!::PeekMessage(pMsg,NULL,0,0,PM_NOREMOVE))
::DispatchMessage(pMsg);
//添加输入中文功能:end
returnTRUE;
}
returnFALSE;
}
3,窗口最大化(需要修改源代码)
修改MainFrame.cpp文件
voidMainFrame::SetWindowStyles()
{
......
//dwStyle&=~WS_MAXIMIZEBOX; //这一行注释或删除掉
......
}
评论