中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 07:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何控制批处理弹出的窗口的位置 查看 1,528 回复 6
楼 主 如何控制批处理弹出的窗口的位置 发表于 2008-07-07 14:58 ·  中国 北京 新国信通信有限公司
初级用户
积分 21
发帖 6
注册 2008-07-04 11:50
18年会员
UID 121084
性别 男
状态 离线
用 mod con:cols=x,lines=y可以设置窗口的大小,但不知如何控制窗口在屏幕中的位置.谢谢赐教!
2 发表于 2008-07-07 15:26 ·  中国 重庆 北碚区 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
18年会员
UID 96746
性别 男
来自 重庆
状态 离线
我也想了解,顶一下~
3 发表于 2008-07-07 23:51 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
貌似只能控制在左上角了。
4 发表于 2008-11-04 17:49 ·  中国 北京 鹏博士BGP
初级用户
积分 68
发帖 37
注册 2008-08-15 11:07
17年会员
UID 123237
性别 男
状态 离线
怎么把窗口定位到左上角呢?先最大化启动再用mode con命令修改窗口大小吗?
5 发表于 2008-11-04 18:23 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
转帖
1、默认设置:
HKEY_CURRENT_USER\Console

2、自定义设置:


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
6 发表于 2008-11-04 18:30 ·  中国 北京 鹏博士长城宽带
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
给批处理建立一个快捷方式,快捷方式属性里可以设置弹出窗口位置,通过快捷方式运行批处理就可以控制批处理窗口的位置了。

[ Last edited by yishanju on 2008-11-4 at 18:40 ]
附件
弹窗位置.JPG

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
7 发表于 2008-11-04 18:37 ·  中国 北京 鹏博士长城宽带
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
哈哈,非常感谢楼主的帖子,由此想到一个隐藏,批处理窗口的办法,虽然可能没什么用

在批处理中设置窗口位置到屏幕外面就可以了隐藏批处理了

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转: