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