c++调用win32API控制打印机打印

win32实现将原始数据发送给打印机

1、调用OpenPrinter()打开打印机,获取打印机句柄。

2、初始化DOCINFO打印机结构体。

3、调用StartDocPrinter()表明应用程序准备发送文档数据给打印机。

4、调用StartPagePrinter()表明程序准备发送一个新的打印页给打印机。

5、调用WritePrinter()发送原始数据给打印机。

6、调用EndpagePrinter()表明打印页发送完毕。

7、调用EndDocPrinter()表明文档发送完毕。

8、调用ClosePrinter()关闭打印机,释放资源。

通过上面步骤即可实现将原始打印数据发送给打印机。

 windows console 项目

#include <windows.h>
int Print(char str[]){
    char szprinter[80];
    char *szDevice,*szDriver,*szOutput;
    HDC hdcprint; // 定义一个设备环境句柄
    //定义一个打印作业
    static DOCINFO di={
   sizeof(DOCINFO),"printer",NULL}; 
    GetProfileString("windows","device",",,,",szprinter,80); 
    szDevice=strtok(szprinter,",");
    szDriver=strtok(NULL,",");
    szOutput=strtok(NULL,",");
    if(szDevice&&szDriver&&szOutput){
   if((hdcprint=CreateDC(szDriver,szDevice,szOutput,NULL))!=0){
                if(StartDoc(hdcprint,&di)>0) //开始执行一个打印作业
                {
                
                    StartPage(hdcprint); //打印机走纸,开始打印
                    SaveDC(hdcprint); //保存打印机设备句柄  
                    TextOut(hdcprint,1,1
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值