如何用vs2010 的mfc做一个打印机驱动软件。有步骤、代码首先采纳。
展开全部
windows提供了调用打印机的驱动,不需要你自己写,你要写的是调用而已,下面是我找的代码,看看是不是想要的:
1、启动VisualC6.0新建个基于对话框应用Test在对话框窗体中加入个按钮(Button),设置这个Button属性
:ID=IDC_PRINT,CAPTION=\"打印\";
2、使用ClassWizard类向导为该按钮添加个鼠标单击处理OnPr()
3、修改TestDlg.cpp文件中OnPr();
4、添加代码编译运行 3、代码
////////////////////////////////////////////
voidCTestDlg::OnPr
{
charszprer[80];
char*szDevice,*szDriver,*szOutput;
HDChdcpr;//定义个设备环境句柄
//定义个打印作业
DOCINFOdi={(DOCINFO),\"prer\",NULL};
//得到设备串存入szprer中
GetProfileString(\"windows\",\"device\",\",,,\",szprer,80);
//将设备串分解
(NULL!=(szDevice=strtok(szprer,\",\"))&&NULL!=(szDriver=strtok(NULL,\",\"))&&
NULL!=(szOutput=strtok(NULL,\",\")))
//创建个打印机设备句柄
((hdcpr=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
{
(StartDoc(hdcpr,&di)>0)//开始执行个打印作业
{
StartPage(hdcpr);//打印机走纸,开始打印
SaveDC(hdcpr);//保存打印机设备句柄
//输出行文字
TextOut(hdcpr,1,1,\"热烈祝贺编程例子出版发行!\",16);
RestoreDC(hdcpr,-1);//恢复打印机设备句柄
EndPage(hdcpr);//打印机停纸,停止打印
EndDoc(hdcpr);//结束个打印作业
MessageBox(\"打印完毕!\",\"提示\",MB_ICONINFORMATION);
}
//用APIDeleteDC销毁个打印机设备句柄
DeleteDC(hdcpr);
}
{
MessageBox(\"没有默认打印机,或者没有安装打印机!\");
;
}
}
1、启动VisualC6.0新建个基于对话框应用Test在对话框窗体中加入个按钮(Button),设置这个Button属性
:ID=IDC_PRINT,CAPTION=\"打印\";
2、使用ClassWizard类向导为该按钮添加个鼠标单击处理OnPr()
3、修改TestDlg.cpp文件中OnPr();
4、添加代码编译运行 3、代码
////////////////////////////////////////////
voidCTestDlg::OnPr
{
charszprer[80];
char*szDevice,*szDriver,*szOutput;
HDChdcpr;//定义个设备环境句柄
//定义个打印作业
DOCINFOdi={(DOCINFO),\"prer\",NULL};
//得到设备串存入szprer中
GetProfileString(\"windows\",\"device\",\",,,\",szprer,80);
//将设备串分解
(NULL!=(szDevice=strtok(szprer,\",\"))&&NULL!=(szDriver=strtok(NULL,\",\"))&&
NULL!=(szOutput=strtok(NULL,\",\")))
//创建个打印机设备句柄
((hdcpr=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
{
(StartDoc(hdcpr,&di)>0)//开始执行个打印作业
{
StartPage(hdcpr);//打印机走纸,开始打印
SaveDC(hdcpr);//保存打印机设备句柄
//输出行文字
TextOut(hdcpr,1,1,\"热烈祝贺编程例子出版发行!\",16);
RestoreDC(hdcpr,-1);//恢复打印机设备句柄
EndPage(hdcpr);//打印机停纸,停止打印
EndDoc(hdcpr);//结束个打印作业
MessageBox(\"打印完毕!\",\"提示\",MB_ICONINFORMATION);
}
//用APIDeleteDC销毁个打印机设备句柄
DeleteDC(hdcpr);
}
{
MessageBox(\"没有默认打印机,或者没有安装打印机!\");
;
}
}
追问
好多错误呀
追答
改一下支持多字节,其他小错误自己改一下啊,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询