批处理CMD显示彩色文字
- 格式:doc
- 大小:54.00 KB
- 文档页数:13
更改命令⾏窗⼝的样式(⾊彩、字体等)
学习C语⾔的同学⼀定对“命令⾏窗⼝”并不陌⽣,⼤多数情况下,命令⾏窗⼝是长下⾯这样的↓↓↓
有⼀些看了我其他⽂章的同学就问,为什么我的命令⾏窗⼝不是长这样的,还有同学说,以前看《⿊客帝国》,满屏幕绿⾊的代码很酷,像下⾯这样
其实,我们的命令⾏窗⼝,当然也可以⾃定它的颜⾊样式了,我习惯的使⽤状态是下⾯这样:
是的,你没有看错,它还有⼀些半透明
下⾯就来看⼀下怎么操作,⾸先右击命令⾏窗⼝标题栏,在快捷菜单中选择【属性】选项
好的,剩下的就是⼤家⾃⼰调整的时间了,第⼆个选项卡是字体,你也可以在⾥⾯对字体进⾏设置,我就不截图了
期待看到⼤家各⾃习惯的样式各异的命令⾏窗⼝啦~。
让控制台输出彩色字符的方法2014-08-11 11:12 外刊IT评论字号:T | TJansi的这种技能实际上是利用ANSI转义代码来控制终端输出。
很多高人用颜色各异的字符在终端屏幕上平凑出各种神奇复杂的精彩图案。
这些代码的源文件通常保持为.ans后缀的文件,下面的这个图案就是利用Jansi输出MW-TSA2.ANS得到的,很神奇吧。
AD:给政府做项目时我们一般都使用的是Java,服务器一般都是Weblogic或Tomcat(开发环境)。
经常使用Java 的人都知道,它在后台输出的信息一般都是黑底白字,或在Linux环境中可以改成黑绿字等,反正是很单调。
我也从来没想过它能够变成彩色,但今天我发现了一个java类库——Jansi——它能够让你在控制台输出色彩缤纷的文字。
先给大家看看效果:Jansi虽然是一个很小的Java包,却有着丰富的接口,让你配置各种输出效果,但用法非常的简单:1.import static org.fusesource.jansi.Ansi.*;2.import static org.fusesource.jansi.Ansi.Color.*;3....4.System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg(GREEN).a(" World").reset() );相信你从上面的语义中能看出它是输出了红色的“Hello”和绿色的“World”。
它还有一种更简洁的写法:1.System.out.println( ansi().eraseScreen().render("@|red Hello|@ @|greenWorld|@") );这种写法能实现相同的效果。
上面的用法是调用了Jansi输出接口生成彩色字。
Jansi可以让你的System.out.println()方法直接输出彩色字体,用法是使用System.out.println()前,先执行:1.import org.fusesource.jansi.AnsiConsole;2....3.AnsiConsole.systemInstall();Jansi的这种技能实际上是利用ANSI转义代码来控制终端输出。
Win10怎么设置cmd命令提示符背景颜色
命令提示符是很多用户经常会用到的工具,经常用来ping网络或者查看ip地址等,而大家应该都会发现命令提示符默认都是同意的颜色,喜欢追求个性化的用户们就想要给cmd命令提示符窗口颜色进行修改,但是升级到win10系统之后就不知道要怎么操作了,下面小编就教你具体怎么做吧。
Win10设置cmd命令提示符背景颜色的方法:
1、在win10中使用快捷键“Win+R”打开运行窗口并输入“cmd”按回车键或确定打开命令提示符窗口(也可以使用其他方式来打开,用户可以根据实际情况来操作);
2、打开命令提示符窗口后,在标题栏上鼠标右键菜单中选择“属性”选项;
3、在弹出cmd属性后,切换菜单栏至“颜色”选项卡;
4、在颜色选项中选择“屏幕背景”选项,在“颜色”Tab下,会有“不透明度”调节的图标,将不透明度调节到80%,点击确定,即可看到对应的效果。
从以上简单步骤设置就可以让cmd窗口背景颜色为透明状态,也可以在cmd属性中设置屏幕文字、弹出文字。
和弹出窗口背景等颜色,用户可以根据个人对命令提示符的操作习惯来选定设置颜色。
CMD命令行的COLOR命令的使用方法
COLOR命令是 Windows 命令提示符(CMD)中的一个实用程序,用于设置命令提示符窗口的文本和背景颜色。
这个命令可以帮助你改善视觉体验,尤其是在处理大量文本数据时。
以下是COLOR命令的一些基本使用方法:
1.设置文本和背景颜色:
color [文本颜色][背景颜色]
其中[文本颜色]和[背景颜色]是由两位十六进制数字组成的代码,分别代
表文本颜色和背景颜色。
例如,0A表示文本颜色为浅蓝色,背景颜色为黑
色。
2.仅设置文本颜色:
color [文本颜色]
如果你只想设置文本颜色,而不改变背景颜色,可以只指定文本颜色。
3.重置颜色到默认值:
color 0
这个命令会将文本颜色和背景颜色重置为默认值。
示例:
•设置文本颜色为浅蓝色,背景颜色为黑色:
color 0A
•设置文本颜色为红色,背景颜色为白色:
color 04
•重置颜色到默认值:
color 0
请注意,COLOR命令只能在命令提示符窗口中使用,它不会影响其他
Windows 应用程序的颜色设置。
此外,颜色设置可能会因不同的显示器和
配置而有所不同,因此效果可能会有所差异。
在命令提示符中使用COLOR命令时,如果你不确定如何设置颜色代码,可以通过尝试不同的组合来找到你喜欢的设置。
这是一个非常个性化的设置,可以根据你的喜好来调整。
让debian在命令行终端显示彩色的文件及文件夹在debian设置vim颜色与SecureCRT的颜色设置方法讲过怎么设置vim的颜色。
但是如果要改系统的文件及文件夹的颜色呢?这时需要更改”.bashrc”这个文件,我的.bashrc文件是以下这样的..1.root@debian:~# vi /root/.bashrc2.3.# ~/.bashrc: executed by bash(1) for non-login shells.4.#export PS1='\h:\w\$ '5.export PS1='\[\033[1;32;40m\]\u@\h:\w\$ \[\033[0m\]'6.umask0227.8.# You may uncomment the following lines if you want `ls' to be colorized:9.export LS_OPTIONS='--color=auto'10.eval"`dircolors`"11.alias ls='ls $LS_OPTIONS'12.alias ll='ls $LS_OPTIONS -l'13.alias l='ls $LS_OPTIONS -lA'14.#15.# Some more alias to avoid making mistakes:16.# alias rm='rm -i'17.# alias cp='cp -i'18.# alias mv='mv -i'去掉9-13行的 # 号即可改完要退出再登陆,就可以看到了。
SecureCRT也是如此。
现在颜色已采用了系统默认配置,你会发现文件夹的颜色为蓝色,看起来非常吃力,我们可以修改系统默认的颜色1) 编辑颜色配置文件:#vim /etc/DIR_COLORS#vim /etc/DIR_COLORS将“DIR 01;34”改为“DIR 01;37”或别的颜色即可2) 如果提示无此文件,可以使用以下命令生成一个如果提示无此文件,可以使用以下命令生成一个#dircolors -p > /etc/DIR_COLORS3) 文件修改完成后,使用以下命令使之生效#eval `dircolors /etc/DIR_COLORS` //命令中的`符号为键盘~符号下面的那个4) 但如果我们退出当前用户再登录一次,发现它还是蓝色,于是得修改配置文件在登录时实现自动运行,如下#vim ~/.bashrc修改eval `dircolors /etc/DIR_COLORS`颜色配置为这一句。
怎么修改cmd字体颜⾊?设置cmd命令⽂字颜⾊的技巧命令提⽰符cmd是在操作系统中,提⽰进⾏命令输⼊的⼀种⼯作提⽰符。
在不同的操作系统环境下,命令提⽰符各不相同。
在windows环境下,命令⾏程序为cmd.exe,是⼀个32位的命令⾏程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。
1、按组合键 win+R 打开运⾏窗⼝。
2、打开运⾏窗⼝后输⼊cmd并回车确定。
3、打开cmd窗⼝后,点击左上⾓的图标,并选择属性。
4、打开cmd属性设置窗⼝,在设置窗⼝上有多个选项栏。
5、选择颜⾊选项栏,勾选屏幕⽂字颜⾊设置,在⼀长条的颜⾊选项中任意选择⼀个。
6、选定的颜⾊在右上⾓有数值显⽰,可以修改数值对选定颜⾊进⾏微调。
7、保存后在cmd命令提⽰符窗⼝测试,效果如图。
以上就是修改cmd命令字体颜⾊的技巧,希望⼤家喜欢,请继续关注。
@echo offchcp 437>nul&&graftabl 936>nulif not exist CONFIG.NT copy %WinDir%\System32\CONFIG.NT CONFIG.NT@clsecho DEVICE=%WinDir%\System32\ANSI.SYS /x >%WinDir%\System32\CONFIG.NT@echo.command /cechocommand /cecho [1;36m 登鹳雀楼@echo.@echo.command /cecho [1;35m 白日依山尽, [33m黄河入海流。
@echo.command /cecho [1;32m 欲穷千里目, [31m更上一层楼。
@echo.@echo.@echo.@echo.command /cecho [1;33m 下江陵@echo.@echo.command /cecho [1;32m 朝辞白帝彩云间, [36m千里江陵一日还。
@echo.command /cecho [1;31m 两岸猿声啼不住, [35m轻舟已过万重山。
@echo.@echo.@echo 继续下页pause>nul@cls@echo.@echo.@echo.command /cecho [1;31m 关山月@echo.@echo.command /cecho [1;32m 明月出天山,苍茫云海间。
@echo.command /cecho [1;33m 长风几万里,吹度玉门关。
@echo.command /cecho [1;35m 汉下白登道,胡窥青海湾。
@echo.command /cecho [1;36m 由来征战地,不见有人还。
@echo.command /cecho [1;37m 戍客望边色,思归多苦颜。
@echo.command /cecho [1;31m 高楼当此夜,叹息未应闲。
python在windows的cmd中打印彩色文字在cmd中打印出彩色文字,主代码来自网上,一不小心忘了原链接了,抱歉。
下面我是修改后的内容。
[python] view plain copy1.#!/usr/bin/env python2.#encoding: utf-83.import ctypes4.5.STD_INPUT_HANDLE = -106.STD_OUTPUT_HANDLE= -117.STD_ERROR_HANDLE = -128.9.FOREGROUND_BLACK = 0x010.FOREGROUND_BLUE = 0x01 # text color contains blue .11.FOREGROUND_GREEN= 0x02 # text color contains gre en.12.FOREGROUND_RED = 0x04 # text color contains red.13.FOREGROUND_INTENSITY = 0x08 # text color is inten sified.14.15.BACKGROUND_BLUE = 0x10 # background color cont ains blue.16.BACKGROUND_GREEN= 0x20 # background color con tains green.17.BACKGROUND_RED = 0x40 # background color contai ns red.18.BACKGROUND_INTENSITY = 0x80 # background color is intensified.19.20.class Color:21.''''' See /library/default.asp? url=/library/en-us/winprog/winprog/windows_api_reference.asp22.for information on Windows APIs.'''23.std_out_handle = ctypes.windll.kernel32.GetStdHandle (STD_OUTPUT_HANDLE)24.25.def set_cmd_color(self, color, handle=std_out_handle):26."""(color) -> bit27.Example: set_cmd_color(FOREGROUND_RED | FOREGR OUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSIT Y)28."""29.bool = ctypes.windll.kernel32.SetConsoleTextAttribute (handle, color)30.return bool31.32.def reset_color(self):33.self.set_cmd_color(FOREGROUND_RED | FOREGROUN D_GREEN | FOREGROUND_BLUE)34.35.def print_red_text(self, print_text):36.self.set_cmd_color(FOREGROUND_RED | FOREGROUN D_INTENSITY)37.print print_text38.self.reset_color()39.40.def print_green_text(self, print_text):41.self.set_cmd_color(FOREGROUND_GREEN | FOREGRO UND_INTENSITY)42.print print_text43.self.reset_color()44.45.def print_blue_text(self, print_text):46.self.set_cmd_color(FOREGROUND_BLUE | FOREGROUN D_INTENSITY)47.print print_text48.self.reset_color()49.50.def print_red_text_with_blue_bg(self, print_text):51.self.set_cmd_color(FOREGROUND_RED | FOREGROUN D_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY)52.print print_text53.self.reset_color()54.55.if __name__ == "__main__":56.clr = Color()57.clr.print_red_text('red')58.clr.print_green_text('green')59.clr.print_blue_text('blue')60.clr.print_red_text_with_blue_bg('background')61.使用:主要是根据3基色组合颜色,非常好用。
cmd调⽤java程序,在cmd控制台打印出彩⾊⽂字cmd调⽤java程序,在cmd控制台打印出彩⾊⽂字以下仅为本⼈⼯作、学习过程中所接触到的内容,不⾜之处请多包涵。
测试环境:win7专业版的DOS使⽤cmd调⽤java程序时,在cmd控制台打印出来的效果默认都是⿊底⽩字,打印出来的报错信息也没有特殊标注,不易观察,所以希望能够控制cmd控制台的打印效果,对不同提⽰信息具有不同的颜⾊表⽰,这样也利于观察分析。
在⽹上也查了很多资料,⼤部分说的都是如何在eclipse控制台、IDEA控制台打印出彩⾊字体,有些说是可以在cmd控制台显⽰出彩⾊字体,但在本⼈测试环境上仍然没有效果。
经过多次尝试,最终还是找到了⼀种有效的解决⽅法。
注:该测试使⽤记事本编辑测试代码,使⽤cmd编译、运⾏代码。
⼯具准备下载⼯具jansi-xxx.jar,⾃⾏下载版本,测试使⽤版本为1.11。
编写测试代码import org.fusesource.jansi.Ansi;import org.fusesource.jansi.Ansi.Color;import org.fusesource.jansi.AnsiConsole;class ColorTest{public static void main(String[] args){//System.out.println( Ansi.ansi().eraseScreen().fg(Ansi.Color.RED).a("Hello").fg(Ansi.Color.GREEN).a(" World").reset() );AnsiConsole.systemInstall();System.out.println("hello world!");System.out.println( Ansi.ansi().fg(Ansi.Color.RED).a("Hello").fg(Ansi.Color.GREEN).a(" World").reset() );System.out.println(Ansi.ansi().render("@|red Hello|@ @|green World|@").reset());AnsiConsole.out.println( Ansi.ansi().fg(Ansi.Color.RED).a("Hello World").reset() );AnsiConsole.out.println("Hello World");System.out.println("\u001B[32mColor \u001B[0m");AnsiConsole.systemUninstall();//System.out.println(Ansi.ansi().eraseScreen().render("@|red Hello|@ @|green World|@"));}}注意带有颜⾊的输出应包含在AnsiConsole.systemInstall();与AnsiConsole.systemUninstall();之间,否则会出现乱码,如下图测试结果其他说明代码需要引⽤外部jar包,关于引⽤外部jar报的代码如何使⽤cmd进⾏编译、运⾏可参考:参考。
win7怎么修改cmd字体颜色
很多win7用户为了更好的保护眼睛或让dos命令界面字体变得更加个性化,也会对字体的颜色进行修改,那么win7怎么修改cmd 字体颜色呢?下面小编就为大家带来了win7修改cmd字体颜色的方法。
win7修改cmd字体颜色方法
1、首先按组合键win+r打开运行窗口,输入regedit并回车,如图所示:
2、调出注册表窗口之后,依次展开:HKEY_CURRENT_USER\Software\Microsoft\Command Processor,如图所示:
3、随后选中Command Processor项,在其右侧找到DefaultColor并将其打开,如图所示:
4、将数值更改为命令提示符中你用的颜色代码,具体如下:
1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色
a=淡绿色b=淡浅绿色c=淡红色d=淡紫色e=淡黄色f=亮白色
例如:我们以a(淡绿色)为例,在DefaultColor的数值数据中输入a,确定保存,随后打开命令提示符就可以看到字体颜色更改为淡绿色了,如图所示:
看过“win7怎么修改cmd字体颜色”的人还看了:
1.怎么修改Win7系统DOS命令界面字体颜色
2.win7系统怎么修改DOS命令界面字体颜色
3.Win7系统改变CMD命令提示符字体大小的方法
4.win7系统怎么设置命令窗口字体大小
5.Win10怎么设置cmd命令提示符背景颜色
6.windows7如何进dos界面。
批处理显示闪烁文字批处理显示闪烁文字我做出来的效果有点不同:一大屏幕,跳出来多行不整齐的唯一的一句----"说明床前明月光说明"将下面示例的内容保存为 .BAT 文件: ::文字分割闪烁效果示例1:@echo off&color 2f&setlocal enabledelayedexpansiontitle 本程序仅用于“文字分割闪烁效果”的演示-寒夜孤星【初学者】"set han=床前明月光疑是地上霜举头望明月低头思故乡for %%i in (%han%) do (set ye=%%iecho.echo.for /l %%j in (0,1,5) do (set/p=!ye:~%%j,1!<nulping -n 0)call :xing %%i)pause>nulexit:xingfor /l %%k in (1,1,10) do (ping /n 0set /p a=说明<nulset /p a= <nulset /p a=说明<nulping /n 0set /p a=%1<nul)goto :eof 郁闷,示例中的“说明”那两个字的位置应该是31个退格光标符号!可一打完更新博文他就米有啦……由于这里的大部分命令在以前都已经将过,所以就不详细展开了。
“ set han=床前明月光疑是地上霜举头望明月低头思故乡 ”,定义字符串为“ 床前明月光疑是地上霜举头望明月低头思故乡 ”。
“ for %%i in (%han%) do… ”,由于 han 中含有空格,则以空格为分隔符将 han 中的每一个部分依次赋给变量 %%i 。
从Windows 95到现在的Windows 8,系统中带的DOS命令提示符软件都是黑白画面,在这个五光十色的年代,这样的软件实在有点让人感觉没有新鲜感,下面教大家几个自定义DOS命令提示符软件的小技巧。
第一个技巧是教大家改变DOS命令提示符的标题,在开始菜单点运行,输入“CMD /k TITLE标题文字”可以得到自定义标题效果
第二个技巧可以改变命令符:在开始菜单点运行,输入“CMD /K PROMPT [text]”(text为新的命令提示符),
第三个技巧可以改变前景色和背景色:CMD /t:gf(g是指定背景色的十六进制数字,常用的颜色有以下值:0 黑色,1蓝色,2 绿色,3 浅绿色,4红色,5紫色,6黄色,7白色,8灰色,9浅蓝,A浅绿,B浅蓝色,C浅红色,D浅紫色,E浅黄色,F亮白色)。
或者,如下图
解释:color 02 0代表背景色,2代表前景色。
改变cmd窗口的大小、颜色、字体的方法2009年05月01日星期五 13:35最简单的设置方法:@echo offmode con cols=40 lines=10echo wind now moon flower smilepause调整cols=40 lines=10的值可改变窗口大小。
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》1、默认设置:HKEY_CURRENT_USER\Console2、自定义设置:[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]3、键及值:"WindowPosition"=dword:00640104"CodePage"=dword:000003a8"FontSize"=dword:00100008"FontFamily"=dword:00000030"FontWeight"=dword:00000190"HistoryNoDup"=dword:00000000"FullScreen"=dword:00000000"ScreenColors"=dword:000000ce"ScreenBufferSize"=dword:12c00504、键值意义:各键值均为十六进制表示窗口位置-----WindowPosition---高四位为上,低四位为左。
如00640104,即距屏幕上沿64H=100,距屏幕左沿104H=260字体大小-----FontSize---------高四位为字高,低四位为字宽如00100008,即字体宽×高=08H×10H=8×16全屏幕-------FullScreen-------0:窗口 1:全屏幕(此时WindowPosition失效)窗口尺寸-----WindowSize-------高四位为高度,低四位为宽度默认00190050,即高19H=25行,宽50H=80列缓冲区尺寸---ScreenBufferSize-高四位为高度,低四位为宽度默认012c0050,即高12cH=300行,宽50H=80列字体颜色-----ScreenColors-----低两位同color设置中的字体颜色值字体类型-----FontFamily-------36:新宋体 30:点阵字体当前代码页---CodePage---------默认3a8H=936:ANSI/OEM-简体中文GBK丢弃旧副本---HistoryNoDup-----0:不丢弃 1:丢弃旧副本5、自定义与默认关系:系统首先在自定义里面查找相关设置,若自定义中没有,则到默认里面查找。
命令提示符窗口怎么设置背景及文字颜色
命令提示符窗口怎么设置背景及文字颜色
命令提示符黑白两色,看久了不仅会腻而且对眼睛也不好,换个颜色换个心情,下面就让小编教大家命令提示符窗口怎么设置背景及文字颜色吧。
命令提示符窗口设置背景及文字颜色的方法
首先,你得打开命令提示符,在开始右键就可以打开。
在命令提示符图标上右键,就能看到属性点击它。
属性里有丰富的选项,我们选择颜色选项卡。
这里就是调整颜色的地方了。
我挨个给你演示一下。
调整屏幕文字,是上面的文字改色,我改的红色,这就是效果。
屏幕文字是命令提示符打开的文字颜色。
我改了屏幕背景,上面的就变色了。
屏幕背景是命令提示符打开时的背景颜色。
这是改的弹出文字的颜色。
这是改的弹出框的背景颜色。
命令提示符窗口怎么设置背景及文字颜色相关文章:
1.怎么修改dos命令界面的字体颜色
2.如何修改cmd命令符的背景颜色
3.msdos命令窗口的字体颜色怎么更改
4.Win10怎么设置cmd命令提示符背景颜色
5.怎么自定义cmd命令提示符的窗口外观
6.修改DOS命令运行环境颜色的方法。
Windows98中渐变彩色文本的实现在Windows 98中彩色文本的显示处理比较简单,主要通过调用如下3个Windows API函数来设置背景和文本的颜色:COLORREF SetText(HDC hdc,COLORREFclrColor);COLORREF SetBkColor(HDC hdc,COLORREFclrColor);intSetBkMode(HDC,intnMode);参数是hdc设备文本句柄,clrColor是指定颜色,一般采用RGB值, 例如:SetText(hdc,RGB(0,255,0)将当前文本的颜色置为纯绿色,Set BkColor(hdc,RGB(0,0,255)将当前背景的颜色置为纯蓝色。
要使SetBkColor()函数在输出时生效,还必须使用SetBkMode()函数来控制屏幕背景色,SetBkMode()函数中nMode的值取OPAQUE或TRANSPARENT,若为O PAQUE, 则每次输出时背景改为当前背景颜色;若为TRANSPARENT,不管SetBkColor()函数怎样调用,背景颜色都不改变。
Win98中,nMode缺省值为OPAQUE。
程序中函数GetTextMetrics()用来取得有关字体信息,它的第2个参数结构类型为TE XTMETRIC,该结构共有20个成员,各成员详细说明参见有关资料,程序中用到的成员tmHeight表示字符的高度,成员tmExternalLeading表示两文本行之间的空隙。
渐变彩色文本的实现程序在中文Windows 98下,采用Visual C++ 5.0编辑、编译连接通过,当运行后,选择"显示"命令,一定会看到奇妙的渐变彩色文本。
值得说明的是如果系统显示器设备的颜色若为256色或更少,那么只能获得有限的、间断性较大的颜色,如果设置为16M色或更大的色彩数目,才能获得真正连续渐变的彩色。
资源描述文件clrtext.rc内容为:#include#include"clrtext.h"ClrTextMenu MENU{MENUITEM"显示(&S)",IDM_SHOWMENUITEM"清除(&C)",IDM_CLEARMENUITEM"帮助(&H)",IDM_HELP}ClrTextMenu ACCELERATORS{VK_F2, IDM_SHOW, VIRTETVK_F3, IDM_CLEAR, VIRTETVK_F1, IDM_HELP, VIRTET}程序资源头文件clrtext.h内容为:#define IDM_SHOW 101#define IDM_CLEAR 102#define IDM_HELP 103程序源代码为://clrtext.c#include#include#include#include"clrtext.h"LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); char *szWinName="Win98Main";//窗口类名chartmp_strchar Font_Name="缺省";//字体名intnMaxX,nMaxY;//屏幕分辨率int X=0,Y=0;//显示起始位置HDC memdc;//内存设备文本句柄HBITMAP hBit;HBRUSH hBrush;int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,PSTRpszCmdLine,intnCmdShow)HWND hwnd;MSG uMsg;WNDCLASS wndclass;HACCEL hAccel;//定义窗口类wndclass.style=0;wndclass.lpfnWndProc= WndProcwndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hThisInst;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); wndclass.hbrBackground=GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName="ClrTextMenu";wndclass.lpszClassName=szWinName;//注册窗口类RegisterClass(&wndclass);//创建窗口类hwnd=CreateWindow(szWinName,"Windows 98彩色文本处理", WS_OVERLAPPEDWINDOW WS_VSCROLL WS_HSCROLL,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_ USEDEFAULT,HWND_DESKTOP,NULL,hThisInst,NULL);//加载加速键表hAccel=LoadAccelerators(hThisInst,"ClrTextMenu");//显示窗口ShowWindow(hwnd,nCmdShow);UpdateWindow(hwnd);//循环处理消息while(GetMessage(&uMsg,NULL,0,0)){if(!TranslateAccelerator(hwnd,hAccel,&uMsg)){ TranslateMessage(&uMsg);DispatchMessage(&uMsg);}}returnuMsg.wParam;}//由Windows 98调用的应用程序主窗口函数,处理各种不同的消息LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAMwParam,LPARAMlPatam){HDC hdc;PAINTSTRUCT ps;//为恢复窗口内容,定义画刷结构变量TEXTMETRIC tm;//定义一个装载有关字体信息的结构变量int i;switch(message){case WM_CREATE:nMaxX=GetSystemMetrics(SM_CXSCREEN);nMaxY=GetSystemMetrics(SM_CYSCREEN);hdc=GetDC(hwnd);memdc=CreateCompatibleDC(hdc);//创建内存设备文本hBit=CreateCompatibleBitmap(hdc,nMaxX,nMaxY);//建立设备文本与全屏幕的映射SelectObject(memdc,hBit);//选择屏幕设备到内存设备文本中hBrush=GetStockObject(WHITE_BRUSH);//窗口背景为白色,并取得刷子句柄SelectObject(memdc,hBrush);//选择刷子句柄到内存设备PatBlt(memdc,0,0,nMaxX,nMaxY,RATCOPY);//用白色清除整个屏幕ReleaseDC(hwnd,hdc);break;case WM_COMMAND;switch(LOWORD(wPatam)){case IDM_SHOW;//从上到下渐变显示彩色文本SetBkColor(memdc,RGB(0,0,255));//设置背景为纯蓝色GetTextMetrics(memdc,&tm);//取得有关文本字体信息Strcpy(tmp_str,"奇妙的彩色文本彩色渐变");for(i=0;iSetTextColor(memdc,RGB (i*12,0,0));//设置彩色文本为红色,红色逐渐加深TextOut(memdc,X,Y,tmp_str,strlen(tmp_str));//显示出彩色文本 Y=Y+tm.tmHeight+tm.tmExternalLeading;//换行}InvalidateRect(hwnd,NULL,1);//告诉系统,当前整个窗口和背景需要重画break;case IDM_CLEAR;X=0;//将显示的起始位置X坐标置为0Y=0;//将显示的起始位置Y坐标置为0PatBlt(memdc,0,0,nMaxX,nMaxY,PATCOPY);//用白色清除整个屏幕InvalidateRect(hwnd,NULL,1);break;case IDM_HELP;MessageBox(hwnd, "Windows 98彩色文本处理\n\n1998.8.25\n\n By Mr.Wangyi\n", "帮助",MB_OK); break;}break;case WM_PAINT;hdc=BeginPaint(hwnd,&ps);//获取设备文本BitBlt(hdc,0,0,nMaxX,nMaxY,memdc,0,0,SRCCOPY);//将保存的虚屏幕拷贝到整个窗口EndPaint(hwnd,&ps);break;case WM_DESTROY;DeleteObject(memdc);//删除内存设备文本PostQuitMessage(0);break;default;returnDefWindowProc(hwnd,message,wPatam,lPatam); }return 0;}。
在DOS应用程序中显示彩色汉字信息的三种方法
王理
【期刊名称】《计算机时代》
【年(卷),期】1997(000)003
【摘要】在很多DOS应用程序中,需要显示汉字信息,为了使用户界面更加醒目,往往还需要给汉字涂上颜色。
下面介绍笔者在实践中所总结出的三种方法均在Turbo C for Dos和Borland Cfor dos中通过):
【总页数】2页(P34-35)
【作者】王理
【作者单位】总参57318部队
【正文语种】中文
【中图分类】TP316
【相关文献】
1.西文DOS下彩色汉字的显示及放大技术 [J], 侯俊霞
2.西文DOS下彩色汉字显示方法的研究 [J], 王春生;黄道
3.西文DOS下彩色汉字的快速显示 [J], 高炳堂
4.PC—DOS下彩色汉字的显示 [J], 段晓冬;唐常杰
5.西文DOS下彩色汉字显示方法 [J], 周少武
因版权原因,仅展示原文概要,查看原文内容请购买。
批处理CMD显示彩色文字批处理CMD显示彩色文字批处理&&彩色文字ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。
注意:语法和 ANSI 转义序列中的大写字母必须按原样键入。
ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形、控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI,终端仿真,以便控制系统的屏幕和键盘。
该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载。
语法DEVICE(HIGH)=[ 驱动器 :][ 路径 ]ANSI.SYS [/X] [/K]参数[ 驱动器 :][ 路径 ]指定 ANSI.SYS 文件的位置。
选项/X重新映射 101 键键盘以外的扩展键。
/K使 ANSI.SYS 文件将 101 键键盘当作 84 键键盘看待,这等价于命令 SWITCHES=/K。
如果您通常使用SWITCHES=/K命令,那么在使用ANSI.SYS 时,则需要使用选项 /K。
ANSI 转义序列中关于光标移动、图形和键盘的设置:在下面的 ANSI 转义序列的列表中,缩写 ESC 代表 ASCII转义字符 27(1Bh),它位于每个转义序列的开始。
ESC[PL;PcH光标位置:移动光标到指定的位置(坐标),如果不指定位置,光标将移动到起始位置,即屏幕的左上角(0 行,0 列)。
该转义序列与下面的光标位置转义序列的工作方式相同。
ESC[PL;Pcf光标位置:与前面光标位置转义序列的工作方式相同。
ESC[PnA上移光标:不改变列而将光标向上移动指定的行数。
如果光标已在首行,则 ANSI.SYS 忽略这个序列。
ESC[PnB下移光标:不改变列而将光标向下移动指定的行数。
如果光标已经在最后一行,则 ANSI.SYS 忽略这个序列。
ESC[PnC右移光标:不改变行而将光标向右移动指定的列数。
如果光标已经在最右列,则 ANSI.SYS 忽略这个序列。
ESC[PnD左移光标:不改变行而将光标向左移动指定的列数。
如果光标已经在最左列,则 ANSI.SYS 忽略这个序列。
ESC[s保存光标位置:保存当前光标位置。
使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。
ESC[u恢复光标位置:将光标位置返回到“保存光标位置”所储存的位置。
ESC[2J清除显示:清除屏幕并将光标位置移到起始位置(0 行,0 列)。
像clsESC[K清除行:清除从光标所在位置到行尾的所有字符( 包括光标位置上的字符)。
ESC[Ps;...;Psm设置图形模式:调用由下列数值指定的图形函数,在该序列再次出现之前,这些被指定的函数保持激活状态。
图形模式改变屏幕上显示的颜色和文本(例如:黑体和下划线字体)属性。
文本属性值功能------------------------------------0 无属性1 黑体4 下划线字体(仅适用于单色显示适配器)5 闪烁字体7 反显字体8 隐藏字体前景色值功能------------------------------------30 黑色31 红色32 绿色33 黄色34 蓝色35 紫红色36 青色37 白色背景色值功能------------------------------------40 黑色41 红色42 绿色43 黄色44 蓝色45 紫红色46 青色47 白色参数 30 到 47 符合 ISO 6429 标准。
ESC[=psh设置模式:改变屏幕宽度或类型,使之成为下列数值所指定的一种。
0 40 x 148 x 25 单色(文本)1 40 x 148 x 25 彩色(文本)2 80 x 148 x 25 单色(文本)3 80 x 148 x 25 彩色(文本)4 320 x 148 x 200 4 色(图形)5 320 x 148 x 200 单色(图形)6 640 x 148 x 200 单色(图形)7 启用换行功能13 320 x 148 x 200 彩色(图形)14 640 x 148 x 200 彩色(16 色图形)15 640 x 148 x 350 单色(2 色图形)16 640 x 148 x 350 彩色(16 色图形)17 640 x 148 x 480 单色(2 色图形)18 640 x 148 x 480 彩色(16 色图形)19 320 x 148 x 200 彩色(256 色图形)ESC[=Psl重新设置模式:使用“设置模式”序列所用的同一值来重新设置模式,但是 7 除外,使用 7 将使换行功能失效。
注意:该转义序列中的最后一个字符是个小写 L。
这些都要在EDIT中完成,即开始--运行edit,当然在edit里构建所需的ESC字符后再转到记事本编辑比较方便在用EDIT编辑批处理文件时可用下列方法输入ESC字符:首先同时按下Ctrl和P键,然后按ESC此时屏幕出现一左箭头(说明:已输入了ESC字符,之后再按方括号键开始ANSI命令)一定还有更好的方法edit太麻烦,大家都说说看法如:@echo offchcp 437>nul&&graftabl 936>nulif not exist CONFIG.NT copy %WinDir%\System32\CONFIG.NT CONFIG.NTattrib +h CONFIG.NT::调用ANSI.sys@clsecho DEVICE=%WinDir%\System32\ANSI.SYS /x >%WinDir%\System32\CONFIG.NT@echo.command /cecho::指定背景色,缺省状态为黑色,如:command /cecho [1;45m 则背景为紫红色@echo.@echo.command /cecho [1;31m 白雪歌送武判官归京@echo.command /cecho [1;37m --岑参@echo.command /cecho [1;32m 北风卷地白草折,胡天八月即飞雪。
@echo.command /cecho [1;33m 忽如一夜春风来,千树万树梨花开。
@echo.command /cecho [1;35m 散入珠帘湿罗幕,狐裘不暖锦衾薄。
@echo.command /cecho [1;36m 将军角弓不得控,都护铁衣冷犹著。
@echo.command /cecho [1;37m 瀚海阑干百丈冰,愁云惨淡万里凝。
@echo.command /cecho [1;31m 中军置酒饮归客,胡琴琵琶与羌笛。
@echo.command /cecho [1;37m 纷纷暮雪下辕门,风掣红旗冻不翻。
@echo.command /cecho [1;36m 轮台东门送君去,去时雪满天山路。
@echo.command /cecho [1;32m 山回路转不见君,雪上空留马行处。
@echo.command /cecho [1;33m 结束pause>nulcopy CONFIG.NT %WinDir%\System32\CONFIG.NTdel CONFIG.NTexit在博客中无法显示源代码的特殊字符,源代码点击这里下载》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》我们有时会希望DOS能够显示出不同的显颜色或者其它功能,我们在DOS启动时载入ANSI.SYS,它可以帮我们实现这些功能,下面是它的使用方法:------------------------------ANSI.SYS程序的使用ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。
那么,它该如何使用呢?下面就来介绍一下。
注意:在本节中,语法和 ANSI 转义序列中的大写字母必须按原样键入。
ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形、控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI终端仿真,以便控制系统的屏幕和键盘。
该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载。
语法DEVICE(HIGH)=[ 驱动器 :][ 路径 ]ANSI.SYS [/X] [/K] [/R]参数[ 驱动器 :][ 路径 ]指定 ANSI.SYS 文件的位置。
选项/X重新映射 101 键键盘以外的扩展键。
/K使 ANSI.SYS 文件将 101 键键盘当作 84 键键盘看待,这等价于命令 SWITCHES=/K。
如果您通常使用SWITCHES=/K命令,那么在使用ANSI.SYS 时,则需要使用选项 /K。
/R当 ANSI.SYS 与屏幕阅读程序(该程序使残疾人更易于使用计算机)一起使用时,此选项用来调整行的滚动,以便提高可读性。
在 ANSI 转义序列中使用的参数:Pn数字参数,用来指定一个十进制数。
Ps可选参数。
指定一个十进制数,用于选择函数。
您可以指定多个函数,必须用分号 ( 将参数隔开。
PL行参数。
指定一个十进制数,它代表显示器或其它设备上的一行。
Pc列参数。
指定一个十进制数,它代表屏幕或其它设备上的一列。
ANSI 转义序列中关于光标移动、图形和键盘的设置:在下面的 ANSI 转义序列的列表中,缩写 ESC 代表 ASCII转义字符 27(1Bh),它位于每个转义序列的开始。
ESC[PL;PcH光标位置:移动光标到指定的位置(坐标),如果不指定位置,光标将移动到起始位置,即屏幕的左上角(0 行,0 列)。
该转义序列与下面的光标位置转义序列的工作方式相同。
ESC[PL;Pcf光标位置:与前面光标位置转义序列的工作方式相同。
ESC[PnA上移光标:不改变列而将光标向上移动指定的行数。
如果光标已在首行,则 ANSI.SYS 忽略这个序列。
ESC[PnB下移光标:不改变列而将光标向下移动指定的行数。
如果光标已经在最后一行,则 ANSI.SYS 忽略这个序列。
ESC[PnC右移光标:不改变行而将光标向右移动指定的列数。
如果光标已经在最右列,则 ANSI.SYS 忽略这个序列。
ESC[PnD左移光标:不改变行而将光标向左移动指定的列数。
如果光标已经在最左列,则 ANSI.SYS 忽略这个序列。
ESC[s保存光标位置:保存当前光标位置。
使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。