|
楼主 |
发表于 2004-5-9 00:50:08
|
显示全部楼层
<>函数名: installuserdriver
功 能: 安装设备驱动程序到BGI设备驱动程序表中
用 法: int far installuserdriver(char far *name, int (*detect)(void));
程序例: <>#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h> <>/* function prototypes */
int huge detectEGA(void);
void checkerrors(void); <P>int main(void)
{
int gdriver, gmode; <P> /* install a user written device driver */
gdriver = installuserdriver("EGA", detectEGA); <P> /* must force use of detection routine */
gdriver = DETECT; <P> /* check for any installation errors */
checkerrors(); <P> /* initialize graphics and local variables */
initgraph(&gdriver, &gmode, ""); <P> /* check for any initialization errors */
checkerrors(); <P> /* draw a line */
line(0, 0, getmaxx(), getmaxy()); <P> /* clean up */
getch();
closegraph();
return 0;
} <P>/* detects EGA or VGA cards */
int huge detectEGA(void)
{
int driver, mode, sugmode = 0; <P> detectgraph(&driver, &mode);
if ((driver == EGA) || (driver == VGA))
/* return suggested video mode number */
return sugmode;
else
/* return an error code */
return grError;
} <P>/* check for and report any graphics errors */
void checkerrors(void)
{
int errorcode; <P> /* read result of last graphics operation */
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
} </P> |
|