网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.简单的画笔.
.改变公共对话框的内容.
.VB利用API函数设定屏幕颜色数.
.容易理解魔方阵源程序.
.x86内联汇编.
.实例讲解.
.C++ Builder创建组件探密.
.C++Builder动态更改自定义打印纸.
.几种算法.
.C语言设计初学者的十八颗“地雷”.
.巧算星期几.
.C++中class与struct的区别.
.C语言编程常见问题解答之位(bit).
.在C++中侦测内嵌型别的存在.
.游戏封面欣赏.
.Shell介绍.
.监视剪贴板内容.
.哪一个奴隶不会死.
.使用Windows虚拟设备驱动程序(Vx.
.很普通很普通的猜数字游戏.

直接发送数据到打印机

发表日期:2008-3-8



  下面是一个将数据直接发送到打印机的示例:
记得在文件中加上#include winspool.h

bool Print(char* szPrinterName, char* szBuffer)// szBuffer是我们希望发送到打印机的数据缓冲
{
HANDLE hPrinter; //打印机句柄
int iLen = strlen(szBuffer);// 发送数据的长度
DWord dwWritten; // 已经向打印机写了多少

if(OpenPrinter(szPrinterName, &hPrinter, NULL))
//Open打印机并赋给一个句柄(已经保存在hPrinter)
{
DOC_INFO_1 Info;//文档信息
memset(&Info, 0, sizeof(Info));
Info.pDocName = "My PrintJob";
//文档名(which is shown in the PrintManager)
Info.pOutputFile = NULL;
//不须要向一个文件写,设为NULL
Info.pDatatype = "RAW";
//数据以RAW格式发送(Win9x和WinNT都支持RAW和EMF格式,WinNT还支持TEXT格式

if(!StartDocPrinter(hPrinter, 1, (LPBYTE)&Info))//文档开始
return false;

// 告诉打印机开始新页
StartPagePrinter(hPrinter);

// 向打印机写数据
if(!WritePrinter(hPrinter, szBuffer, iLen, &dwWritten))
{
//当发送数据时出现错误
//用最后的错误指出发生了什么错误
}
EndPagePrinter(hPrinter);//告诉打印机已经完成当前页
if(!EndDocPrinter(hPrinter))//文档结束
return false;
ClosePrinter(hPrinter);//关闭打印机
return true;
}
else
{
return false;
}
}

假如你的打印机直接与计算机相连(LPT1-LPT3)或者影射为网络打印机,那你就可以直接用fopen函数来实现。
eg. fopen("lpt1", "wt") 或 fopen("\\\\MainServer\\MatriXPrinter", "wt")
上一篇:一个实用的大小写金额转换程序 人气:599
下一篇:掷骰子 人气:708
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐