巧用ANSE转义序列,定义命令热键

Author: 邹大刚 Date: 1995-09-15

        要定义命令热键,首先,用户在config.sys文件中必须有这样一行:
        device=c:\dos\ansi.sys
        其次,利用ANSI设置键盘串(p)转义序列,定义用户的命令热键,如用户要定义F11为调用CCED程序,则可在DOS命令提示符下键入:
        prompt $e[0;133;"CCED";13p$P$G
        这个命令定义命令热键F11并定入内存。$e(或$E)表示ANSI转义字符ESC,0;133表示F11的扫描码,引号中是一个调用CCED文件命令,13表示回车码,p是ANSI设置键盘串转义序列,$P$G表示设置DOS命令提示符。这些字符之间不能有空格,因为空格表示命令的末尾。
        按F11,则执行CCED程序。
        也可在一个批命令加上这样二行:
        echo PRESS ALT-F11 RUN PCTOOLS
        ceho ←[0;139;"C:\PC\PCTOOLS";13p
        第一个echo语句是一个说明语句,告诉用户所定义的命令热键及使用方法;第二个echo语句定义命令热键ALT-F11并写入内存。其中←字符表示ANSI转义字符“ESC”,在edit编辑软件中,它是按CTRL-P,再按ESC键建立起来的;0;139 是ALT-F11扫描码;引号中是一个调用c:\pc目录下的pctools文件,其它同上。
        运行此批文件,则显示:
        PRESS ALT-F11 RUN PCTOOLS
        按F11则执行PCTOOLS程序。
        也可以把PROMPT语句或ECHO语句写入批文件AUTOEXEC.BAT中,这样计算机一经启动,就定义好用户的命令热键,以便随时调用。也可以在一个转义序列中运行几个命令,例如:
        PROMPT $e[0;135;"CD\WPS";13;10;"UP";13;10;"WB";13;10;"WPS";13p$P$G
        此命令定义SHIFT-F11为WPS的命令热键,引号中分别调用了四个命令,另外10是换行码,其它同上。利用ANSE转义序列,我们还可以重新定义键盘、屏幕等,有兴趣的读者不妨一试。
        注意:1.ANSI转义序列严格区分大小定字母,A与a表达的内容是完全不同的。
        2.许多程序热键的分配。
        (邹大刚)