当前位置:  软件>C/C++软件

Windows控制台的增强 Console

    来源:    发布时间:2015-01-27

    本文导语:  Console是Windows控制台的增强的实现。受eConsole(http://www.informatik.uni-frankfurt.de/~corion)项目的启发而创建。 Console功能包括: 多选项卡(多标签页)支持 像文本编辑器一样选择文本 设置不同类型的背景(纯色,图形,透明度) 设...

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

Windows控制台的增强 Console[图片]

Console功能包括:

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

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

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

设置字体

各种不同的窗口风格

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

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

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

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

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

1,中文显示

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

Windows Registry Editor Version 5.00

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

    ......

}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • WinDows8最新版文件夹加密
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • 装了Linux和Windows,怎样默认进入Windows
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?) iis7站长之家
  • 怎样是编好的java application在windows上像windows应用程序一样直接运行
  • Docker宣布支持Windows 10和Azure Windows Server
  • windows 和linux双系统,重装windows后,无法启动linux?
  • win7/Windows7系统下载地址搜集整理
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 为什么在安装了WINDOWS和LINUX的电脑上,重装WINDOWS会破坏MBR?
  • IE11设置IE兼容性视图及提升Windows 8.1中IE11兼容性的相关设置
  • Linux + Windows2000 双启动,Windows2000起不来了,说是文件被破坏,进来看看……
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3