Console Windows控制台的增强开源项目

我要开发同款
匿名用户2012年03月28日
55阅读
所属分类C/C++、应用工具、操作系统工具
授权协议GPL

作品详情

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; //这一行注释或删除掉

  ......

}

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论