自动设置DOS系统屏幕颜色的小程序 孙刚 1997-01-01   DOS系统开机后屏幕颜色单调,如何改变这种情况呢?笔者用Turbo C 2.0编制了CLSZ程序,该程序有如下功能: #2  1.开机时可自动设置屏幕颜色。   CLSZ可带2个参数,第1个为字符颜色,共有16种,取值范围0-15,第2个参数为屏幕颜色,共有8种,取值范围0-7。   设CLSZ.C经过编译生成的CLSZ.EXE在C:\下。   方法:在C:\AUTOEXECBAT文件中加入以下2行:   PATH C:\   CLSZ 11 4   重新启动后DOS屏幕颜色即变为红色,字符为淡青色。 #2  2.在任意时刻改变字符和屏幕颜色。   CLSZ有下面三种用法:   CLSZ  字符颜色值  屏幕颜色值   CLSZ(缺省设置字符颜色为黄色,屏幕颜色为兰色)   CLSZ ?(显示帮助信息,命令格式及数字代表的颜色) #3  下面是CLSZC源程序,供大家参考。   #include <stdioh>   main(int argc,char *argv[])   { if(argc==2&&argv[1][0]==?)help();   else if(argc==3&&atoi(argv[2])<8 &&atoi(argv[1])<16)   {textattr((char)((atoi(argv[2])<<4)|atoi(argv[1])));   clrscr();   }   else {textattr(0xle);   clrscr();   }   }help()   { int i;   char ys[][15]={"BLACK","BLUE","GREEN","CYAN","RED","MAGENTA","BROWN","LIGHTGRAY","DARKGRAY","LIGHTBLUE","LIGHTGREEN","LIGHTCYAN","LIGHTRED","LIGHTMAGENTA","YELLOW","WHITE"};   textattr(3);clrscr();   textattr(12);   cprintf("Usage:CLSZ [QJ][BJ]\r\n");   cprintf("[QJ]=0-15[BJ]=0-7\r\n");   cprintf("Example1:CLSZ \r\n");   cprintf("Example2:CLSZ ?\r\n");   cprintf("Example3:CLSZ 3 0\r\n");   for(i=0;i<16;i++)   {gotoxy(2,7+i);   textattr(15);   cprintf("%2d",i);   textattr(i);   cprintf("=%s",ys[i]);   gotoxy(20,7+i);   textattr(7);   if(i<8)cprintf("([QJ] or [BJ])");   else cprintf("([QJ])");   }   textattr(3);gotoxy(1,7+16);}