我写了一个直接写屏的程序(部分参考了本论坛的一个帖子),但是在写入SetMode(TEXT_MODE)也就是改为文本模式的时候屏幕就会出现DOS提示符,请问是什么原因?难道windows不是文本模式?那他是什么模式?
原码如下:
#include<dos.h>
#include<conio.h>
#define VGA_MODE 0x13
#define TEXT_MODE 0x03
void setmode(unsigned char mode){
union REGS regs;
regs.h.ah=0;
regs.h.al=mode;
int86(0x10,®s,®s);
}
void putpixel(int x,int y,int color){
char far *addr=(char far*)0xa0000000L;
*(addr+y*320+x)=color;
}
int main(){
int i,j;
setmode(VGA_MODE);
for(i=0;i<50;++i)
for(j=0;j<50;++j)
putpixel(i,j,3);
getch();
return 0;
}
这样写的话就没有问题,但是如果改成
int main(){
int i,j;
setmode(VGA_MODE);
for(i=0;i<50;++i)
for(j=0;j<50;++j)
putpixel(i,j,3);
setmode(TEXT_MODE);
getch();
return 0;
}
就会有刚才的问题,谢谢解答!
欢迎光临我的blog:http://blog.csdn.net/bestee
----------------解决方案--------------------------------------------------------