CTTY命令及其妙用 王德祥 1997-01-01 #2  一、什么是CTTY   CTTY中的字母“C”是英文“change(改变)”的字头。TTY表示终端亦即显示器和键盘,CTTY命令用于变换你当前工作的设备。 #2  二、作用范围   CTTY命令的作用范围仅限于使用MS-DOS系统功能调用进行输入输出的程序。很多命令并不依赖于MS-DOS系统进行数据的输入和输出,它们直接将数据发送到相关的输入输出设备上。CTTY命令对这样的程序不产生影响。 #2  三、基本用法   CTTY命令的使用格式为:CTTY device   其中的device为MS-DOS定义的设备名,例如AUX、CON、NUL等。因此,命令CTTY AUX将把所有的命令I/O从当前设备(控制台)重定向到一个辅助设备,例如另外一台终端。而命令CTTY CON将把上述的重定向恢复过来。 #2  四、用CTTY命令来给微机加密   首先在CMOS中设置启动顺序为C:,A:,并在A盘上建立一个任意内容的密码文件如A:\secret,再在autoexec.bat末尾加如下内容:   c:\dos\drvready   if errorlevel ctty nul   if not exist a:\secret ctty nul   作为辅助措施,在config.sys中加“switches=/n”命令行,如果其中有“break=on”语句,应将其屏蔽。另外不能在autoexec.bat中使用“break on”命令。这样非法用户便不能用按Ctrl+Break的方法中断autoexec.bat文件的执行。   机主启动微机前将钥匙盘插入相应的软驱,即可通过上述的if exist命令行的检查,从而越过CTTY NUL命令进入系统提示符状态。他人启动微机时如果不在软驱中插盘或者插入的不是钥匙磁盘,将使CTTY NUL命令被执行,从而将当前使用设备转换为虚拟设备NUL,这样键盘的所有输入将被忽略,当然也就无法使用微机。   上文中程序drvready.com的作用是检测软驱A是否准备好,内容为:   C:>DEBUG   N C:\DOS\DRVREADY.COM   A100   MOV AX,2524   MOV DX,113   INT 21   MOV AH,1C   MOV DL,1   INT 21   MOV AX,4C00   INT 21   MOV AX,4C01   INT 21   RCX   18   W   Q   将其中第7行的“MOV DL,1”修改为“MOV DL,2”,可用于检查B驱是否准备好。上述内容在DOS 6.22、Cyrix 6x86兼容机上通过。