ANSI.SYS程序的使用方法
程序员文章站
2022-03-22 09:59:52
ansi.sys是ms-dos中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。那么,它该如何使用呢?下面就来介绍一下。
注意:在本节中,语法和&nbs...
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 转义序列中使用的参数:
数字参数,用来指定一个十进制数。
可选参数。指定一个十进制数,用于选择函数。您可以指定多个函数,必须用分号 (;) 将参数隔开。
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
保存光标位置:保存当前光标位置。使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。
esc[u
恢复光标位置:将光标位置返回到“保存光标位置”所储存的位置。
esc[2j
清除显示:清除屏幕并将光标位置移到起始位置(0 行,0 列)。
esc[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。
esc[code;string;...p
设置键盘字符串:将键盘键重新定义为指定的字符串。该转义序列的参数定义如下:
“code”是列于下表的一个或多个数值,这些数值代表键盘键和键的组合。当在命令中使用这些数值时,除了该序列要求的分号外,您还必须键入该表中显示的分号。括号中的代码在一些键盘上不存在,除非选项 /x 在 ansi.sys 的device 命令中被指定,否则,ansi.sys 将不为这些键盘翻译括号中的代码。
“string”对于单个字符是 ascii 代码,或者是包含在引号中的串。例如:65 和“a”都被用来代表大写字母 a。
要点:下表中的一些值并不是对于所有的计算机都有效,对于那些不同的数值,请检查您的计算机文档。
键代码 shift+ 代码 ctrl+ 代码 alt+ 代码
------------------------------------------------------------------
f1 0;59 0;84 0;94 0;104
f2 0;60 0;85 0;95 0;105
f3 0;61 0;86 0;96 0;106
f4 0;62 0;87 0;97 0;107
f5 0;63 0;88 0;98 0;108
f6 0;64 0;89 0;99 0;109
f7 0;65 0;90 0;100 0;110
f8 0;66 0;91 0;101 0;111
f9 0;67 0;92 0;102 0;112
f10 0;68 0;93 0;103 0;113
f11 0;133 0;135 0;137 0;139
f12 0;134 0;136 0;138 0;140
a 97 65 1 0;30
b 98 66 2 0;48
c 99 66 3 0;46
d 100 68 4 0;32
e 101 69 5 0;18
f 102 70 6 0;33
g 103 71 7 0;34
h 104 72 8 0;35
i 105 73 9 0;23
j 106 74 10 0;36
k 107 75 11 0;37
l 108 76 12 0;38
m 109 77 13 0;50
n 110 78 14 0;49
o 111 79 15 0;24
p 112 80 16 0;25
q 113 81 17 0;16
r 114 82 18 0;19
s 115 83 19 0;31
t 116 84 20 0;20
u 117 85 21 0;22
v 118 86 22 0;47
w 119 87 23 0;17
x 120 88 24 0;45
y 121 89 25 0;21
z 122 90 26 0;44
1 49 33 -- 0;120
2 50 64 0 0;121
3 51 35 -- 0;122
4 52 36 -- 0;123
5 53 37 -- 0;124
6 54 94 30 0;125
7 55 38 -- 0;126
8 56 42 -- 0;126
9 57 40 -- 0;127
0 48 41 -- 0;129
- 45 95 31 0;130
= 61 43 -- 0;131
[ 91 123 27 0;26
] 93 125 29 0;27
92 124 28 0;43
; 59 58 -- 0;39
39 34 -- 0;40
, 44 60 -- 0;51
. 46 62 -- 0;52
/ 47 63 -- 0;53
` 96 126 -- 0;41
通常,在dos提示符下按esc键时,屏幕会显示一个反斜杠(\)并把光标移到下一行.这时可以使用prompt命令.假如现在dos提示符是$p$g,想要清屏,就可键入: prompt=$e[2j $p$g 这里$e即表示按esc键,然后再把提示符改回$p$g,不然在执行每条命令前就都要清屏了.
在用edit编辑批处理文件时可用下列方法输入esc字符.首先同时按下ctrl和p键 然后再按下作方括号,此时屏幕出现一左箭头(?说明已输入了esc字符.之后必须放 开ctrl再次按下方括号键开始ansi命令.
注意:在本节中,语法和 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 转义序列中使用的参数:
数字参数,用来指定一个十进制数。
可选参数。指定一个十进制数,用于选择函数。您可以指定多个函数,必须用分号 (;) 将参数隔开。
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
保存光标位置:保存当前光标位置。使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。
esc[u
恢复光标位置:将光标位置返回到“保存光标位置”所储存的位置。
esc[2j
清除显示:清除屏幕并将光标位置移到起始位置(0 行,0 列)。
esc[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。
esc[code;string;...p
设置键盘字符串:将键盘键重新定义为指定的字符串。该转义序列的参数定义如下:
“code”是列于下表的一个或多个数值,这些数值代表键盘键和键的组合。当在命令中使用这些数值时,除了该序列要求的分号外,您还必须键入该表中显示的分号。括号中的代码在一些键盘上不存在,除非选项 /x 在 ansi.sys 的device 命令中被指定,否则,ansi.sys 将不为这些键盘翻译括号中的代码。
“string”对于单个字符是 ascii 代码,或者是包含在引号中的串。例如:65 和“a”都被用来代表大写字母 a。
要点:下表中的一些值并不是对于所有的计算机都有效,对于那些不同的数值,请检查您的计算机文档。
键代码 shift+ 代码 ctrl+ 代码 alt+ 代码
------------------------------------------------------------------
f1 0;59 0;84 0;94 0;104
f2 0;60 0;85 0;95 0;105
f3 0;61 0;86 0;96 0;106
f4 0;62 0;87 0;97 0;107
f5 0;63 0;88 0;98 0;108
f6 0;64 0;89 0;99 0;109
f7 0;65 0;90 0;100 0;110
f8 0;66 0;91 0;101 0;111
f9 0;67 0;92 0;102 0;112
f10 0;68 0;93 0;103 0;113
f11 0;133 0;135 0;137 0;139
f12 0;134 0;136 0;138 0;140
a 97 65 1 0;30
b 98 66 2 0;48
c 99 66 3 0;46
d 100 68 4 0;32
e 101 69 5 0;18
f 102 70 6 0;33
g 103 71 7 0;34
h 104 72 8 0;35
i 105 73 9 0;23
j 106 74 10 0;36
k 107 75 11 0;37
l 108 76 12 0;38
m 109 77 13 0;50
n 110 78 14 0;49
o 111 79 15 0;24
p 112 80 16 0;25
q 113 81 17 0;16
r 114 82 18 0;19
s 115 83 19 0;31
t 116 84 20 0;20
u 117 85 21 0;22
v 118 86 22 0;47
w 119 87 23 0;17
x 120 88 24 0;45
y 121 89 25 0;21
z 122 90 26 0;44
1 49 33 -- 0;120
2 50 64 0 0;121
3 51 35 -- 0;122
4 52 36 -- 0;123
5 53 37 -- 0;124
6 54 94 30 0;125
7 55 38 -- 0;126
8 56 42 -- 0;126
9 57 40 -- 0;127
0 48 41 -- 0;129
- 45 95 31 0;130
= 61 43 -- 0;131
[ 91 123 27 0;26
] 93 125 29 0;27
92 124 28 0;43
; 59 58 -- 0;39
39 34 -- 0;40
, 44 60 -- 0;51
. 46 62 -- 0;52
/ 47 63 -- 0;53
` 96 126 -- 0;41
通常,在dos提示符下按esc键时,屏幕会显示一个反斜杠(\)并把光标移到下一行.这时可以使用prompt命令.假如现在dos提示符是$p$g,想要清屏,就可键入: prompt=$e[2j $p$g 这里$e即表示按esc键,然后再把提示符改回$p$g,不然在执行每条命令前就都要清屏了.
在用edit编辑批处理文件时可用下列方法输入esc字符.首先同时按下ctrl和p键 然后再按下作方括号,此时屏幕出现一左箭头(?说明已输入了esc字符.之后必须放 开ctrl再次按下方括号键开始ansi命令.
下一篇: DOS批处理文件