微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Console Windows控制台的增强

程序名称:Console

授权协议: GPL

操作系统: Windows

开发语言: C/C++

Console 介绍

Console是Windows控制台的增强的实现。受eConsole(http://www.informatik.uni-
frankfurt.de/~corion)项目的启发而创建。

Console功能包括

多选项卡(多标签页)支持

像文本编辑器一样选择文本

设置不同类型的背景(纯色,图形,透明度)

设置字体

各种不同的窗口风格

注:Console不是一个Shell,因此,它没有实现Shell的特性,如命令完成,语法着色,命令行历史等。

Console是你选择的Shell(cmd.exe, 4NT, bash等)的更强大的终端。

=============================================================================

官方版本不支持中文显示和输入,并且窗口最大化

我们可以对其做一些修改来实现中文显示和输入。

1,中文显示

把下面的内容保存为reg文件

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console\Console2 command window]

“CodePage”=dword:000003a8

“ScreenBufferSize”=dword:01f40050

“WindowPosition”=dword:00ee0127

“FontSize”=dword:000e0000

“FontFamily”=dword:00000036

“FontWeight”=dword:00000190

“FaceName”=”新宋体”

2,中文输入(需要修改代码

修改ConsoleView.cpp文件:

BOOL ConsoleView::PreTranslateMessage(MSG* pMsg)

{

if ((pMsg->message == WM_KEYDOWN) ||

(pMsg->message == WM_KEYUP) ||

(pMsg->message == WM_SYSKEYDOWN) ||

(pMsg->message == WM_SYSKEYUP))

{

// Avoid calling ::TranslateMessage for WM_KEYDOWN, WM_KEYUP,

// WM_SYSKEYDOWN and WM_SYSKEYUP (except for wParam == VK_PACKET,

// which is sent by sendinput when pasting text).

///

// This prevents WM_CHAR and WM_SYSCHAR messages, enabling stuff like

// handling ‘dead’ characters input and passing all keys to console.

if (pMsg->wParam == VK_PACKET) return FALSE;

//::dispatchMessage(pMsg); // 原代码中的内容

//添加输入中文功能: begin (参考自http://download.csdn.net/detail/zhangj7851/2513105)

::TranslateMessage(pMsg);

if(!::PeekMessage(pMsg, NULL, 0, 0, PM_norEMOVE))

::dispatchMessage(pMsg);

//添加输入中文功能: end

return TRUE;

}

return FALSE;

}

3,窗口最大化(需要修改代码

修改MainFrame.cpp文件

void MainFrame::SetwindowStyles()

{

......

//dwStyle &= ~WS_MAXIMIZEBox; // 这一行注释或删除

......

}

Console 官网

http://sourceforge.net/projects/console/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐