自己设置CMD窗口位置、字体、大小等 2010-11-30 转载,汇编 17 条评论 15485 次阅读 自己设置CMD窗口位置、字体、大小等 由于最近学了点汇编,所以总是用CMD,每次看到老师都要设置下大小,蛮烦人的,特此找了个这方法固定大小。不过……最终还是没有成功,只要启动debug就还会恢复到原来大小,纠结啊……暂时没空解决了,先扔这里吧~ 1、默认设置: ``` HKEY_CURRENT_USER\Console ``` 2、自定义设置: ``` [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:12c0050 ``` 4、键值意义: 各键值均为十六进制表示 窗口位置-----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、自定义与默认关系: 系统首先在自定义里面查找相关设置,若自定义中没有,则到默认里面查找。 即自定义优先级高于默认。 6、批处理设定窗口属性 ``` set rr="HKCU\Console\%%SystemRoot%%_system32_cmd.exe" reg delete %rr% /f>nul reg add %rr% /v "WindowPosition" /t REG_DWORD /d 0x00640104 /f>nul reg add %rr% /v "WindowSize" /t REG_DWORD /d 0x00190050 /f>nul reg add %rr% /v "ScreenBufferSize" /t REG_DWORD /d 0x00190050 /f>nul reg add %rr% /v "FullScreen" /t REG_DWORD /d 0x00000001 /f>nul reg add %rr% /v "FontSize" /t REG_DWORD /d 0x00100008 /f>nul ``` 7、字体大小: (1)点阵字体(较小) 3×5-------00050003 5×8-------00080005 6×12------000c0006 6×13------000d0006 8×16------00100008 8×18------00120008 10×20-----0014000a 10×22-----0016000a 12×27-----001b000c (2)新宋体(较大) 6----00060000---3*7 8----00080000---4*9 10---000a0000---5*11 12---000c0000---6*14 14---000e0000---7*16 16---00100000---8*18 18---00120000---9*21 20---00140000---10*23 24---00180000---12*27 28---001c0000---14*32 36---00240000---18*41 72---00480000---36*82 以上是自定义cmd窗口属性的基本知识,下面提供一个实例,是一个小游戏:猜数字。 ``` @echo off set rr="HKCU\Console\%%SystemRoot%%_system32_cmd.exe" reg add %rr% /v "WindowPosition" /t REG_DWORD /d 0x0064020b /f>nul reg add %rr% /v "WindowSize" /t REG_DWORD /d 0x000e0015 /f>nul reg add %rr% /v "ScreenBufferSize" /t REG_DWORD /d 0x000e0015 /f>nul if not defined ff (set ff=0&start cmd /c %0&exit) ::mode con cols=21 lines=14 title 猜数字 setlocal enabledelayedexpansion cd /d %TEMP% >tmp.bat echo @echo off >>tmp.bat echo title 输入数字 >>tmp.bat echo for /l %%%%i in (1,1,6) do echo. >>tmp.bat echo set /p num=输入数字: >>tmp.bat echo echo %%num%%^>tm.tmp >>tmp.bat echo exit :main cls set times=0 echo 次 数字 状况 :again set n1=%random:~-1% set n2= set n3= set n4= :value set n=%random:~-1% if "%n2%"=="" if %n% NEQ %n1% set n2=%n% if "%n3%"=="" if %n% NEQ %n1% if %n% NEQ %n2% set n3=%n% if "%n4%"=="" if %n% NEQ %n1% if %n% NEQ %n2% if %n% NEQ %n3% set n4=%n% if "%n4%"=="" goto :value ::echo %n1%,%n2%,%n3%,%n4% :check if %times% EQU 8 goto :end set A=0&set B=0&set m=0 reg add %rr% /v "WindowPosition" /t REG_DWORD /d 0x0064015c /f>nul reg add %rr% /v "WindowSize" /t REG_DWORD /d 0x000e0015 /f>nul reg add %rr% /v "ScreenBufferSize" /t REG_DWORD /d 0x000e0015 /f>nul start /wait cmd /k tmp.bat reg delete %rr% /f>nul set /p num=nul&&( set /a B+=1 call set k=%%num:~!m!,1%% if "%%i"=="!k!" set /a A+=1 )&set /a m+=1 ) echo %times% %num% %A%A%B%B if %A% NEQ 4 goto :check del tmp.bat echo 恭喜你,答对了! pause>nul exit :end echo. echo 你已试了8次了! echo 答案是%n1%%n2%%n3%%n4% echo 再来一次吧! set /p ff= if /i "%ff%"=="N" (del tmp.bat&exit) goto :main ``` 标签: cmd, set, 设置 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
还真没见过修改这个的,长见识了哈~
:-x :-x 呵呵 这个啊 我就不会折腾啊
生命在于折腾 :-|
我靠~~这么麻烦啊 :!:
啊? :evil:
看不懂。
看看就懂了,嘿嘿~
纯技术博客啊,
这个这个……以后会有别的啦,目前只是当做个记录哈,要明年了~
前来学习咯。呵呵。
看不懂,呵呵,友情支持下
很实用。CMD的窗口看了有种枯燥的感觉……
呵呵,直接写个reg文件也可以改了~
title命令可以更改标题
是的~那个例子里有~ :wink:
最近学了点汇编
恩,呵呵~ :-P