系统:win7
环境:VS2010
语言:c++
函数:调用打印机打印一段文字。
void CpainttestDlg::OnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
char szprinter[80];
char *szDevice,*szDriver,*szOutput;
HDC hdcprint; // 定义一个设备环境句柄 //定义一个打印作业
static DOCINFO di={sizeof(DOCINFO),"printer",NULL}; // 得到设备字符串存入数组szprinter中
GetProfileString("windows","device",",,,",szprinter,80);
if(NULL!=(szDevice=strtok(szprinter,","))&&NULL!= (szDriver=strtok(NULL,","))&&NULL!=(szOutput=strtok(NULL,",")))// 创建一个打印机设备句柄
if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0)
{
if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
{
StartPage(hdcprint); //打印机走纸,开始打印
SaveDC(hdcprint); //保存打印机设备句柄
// 输出一行文字
TextOut(hdcprint,1,1,"this is a 打印程序",16);
RestoreDC(hdcprint,-1); //恢复打印机设备句柄
EndPage(hdcprint); //打印机停纸,停止打印
EndDoc(hdcprint); //结束一个打印作业
MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
}
// 用API函数DeleteDC销毁一个打印机设备句柄
DeleteDC(hdcprint);
}
else
{
MessageBox("没有默认打印机,或者没有安装打印机!");
return;
}
}
版权声明:本文为i_likechard原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。