您的位置:首页 > 其它

VC使用驱动打印的一个例子

2015-05-20 17:57 190 查看
<span style="font-size:18px;">void CDlltestDlg::OnPrint()
{
 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,"热烈祝贺编程实例出版发行!",16);
    RestoreDC(hdcprint,-1); //恢复打印机设备句柄
    EndPage(hdcprint); //打印机停纸,停止打印
    EndDoc(hdcprint); //结束一个打印作业
    MessageBox("打印完毕!","提示",MB_ICONINFORMATION);
   }
   // 用API函数DeleteDC销毁一个打印机设备句柄
   DeleteDC(hdcprint);
  }
  else
  {
   MessageBox("没有默认打印机,或者没有安装打印机!");
   return;
  }
 }</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: