使用c语言网络控制打印机,请教高手关于C控制打印机的问题,万分感谢!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
int 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 0;
// 告诉打印机开始新页
StartPagePrinter(hPrinter);
// 向打印机写数据
if(!WritePrinter(hPrinter, szBuffer, iLen, &dwWritten))
{
printf("print error!");
//当发送数据时出现错误
//用最后的错误指出发生了什么错误
}
EndPagePrinter(hPrinter);//告诉打印机已经完成当前页
if(!EndDocPrinter(hPrinter))//文档结束
{
printf("document have not end!");
return 0;
}
ClosePrinter(hPrinter);//关闭打印机
return 1;
}
else
{
return 0;
}
}
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
FILE * fp;
char buffer[254];
int len;
char * printer="EPSON EPL-6100L Advanced";
char * filename="c:\\boot.ini";
if((fp=fopen(filename,"r"))==NULL)
{
printf("can not open file!");
return 0;
}
len=strlen(fp);
fgets(buffer,len,fp);
Print(printer,buffer);
return 0;
}
//用lcc编译成功 ,但是打印时打印列表里显示错误,然后就自动退出打印,很是郁闷.请问怎么解决
使用c语言网络控制打印机,请教高手关于C控制打印机的问题,万分感谢!相关推荐
- c语言负数显表,C语言编程问题请教高手-专业自动化论坛-中国工控网论坛
小弟编制一个程序功能是:利用定时器0和数显芯片做一个时,分,秒显示(6个数码管) 汇编程序已经编制出来了 可是用C语言却不能实现 汇编程序: EN BIT P2.7 DOUT BIT P2.6 CLK ...
- C语言网络编程:多路IO select实现多客户端
文章目录 阻塞式的服务器程序 多线程服务器程序 非阻塞式服务器程序 基于事件响应的服务器程序 事件响应服务器程序的实现`select` 阻塞式的服务器程序 我们接触过最多的最基础的网络通信模型为TCP ...
- 菜鸟请教高手web开发内存问题?
为什么80%的码农都做不了架构师?>>> 最近开发基于ssh的网站(Myeclipse下),使用内存查看工具现实内存分配最大值64M, 在tomcat的配置文件中,在catal ...
- c语言求三门课总成绩,C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小...
C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小 关注:212 答案:3 mip版 解决时间 2021-01-17 10:35 提问者夜落花台 2 ...
- 深入Go语言网络库的基础实现
https://studygolang.com/articles/1879 Go语言的出现,让我见到了一门语言把网络编程这件事情给做"正确"了,当然,除了Go语言以外,还有很多语言 ...
- c语言网络编程百度云,C语言网络编程:C#网络编程(接收文件).pdf
c语言网络编程:C#网络编程(接收文件) - Part.5 疯狂代码 / ĵ http://DotNet/Article65322.html 本文源代码下载地址 /2009_03/Network-Pa ...
- C语言网络编程函数与相关结构汇总
持续更新中- 服务器和客户端的一般流程 服务器端:socket()-->bind( )-->listen()-->accept()-->read()/write()---> ...
- bcs转10 c语言,小弟刚学习C语言,怎么把下段汇编代码转化为C语言程序,请高手指教!!!单片机89c52...
已结贴√ 问题点数:20 回复次数:3 小弟刚学习C语言,怎么把下段汇编代码转化为C语言程序,请高手指教!!!单片机89c52 BIT_COUNT DATA 07FH TIMER0 ...
- 大脑中的不同网络:突显网络、听觉网络、基底神经节网络、高级视觉网络、视觉空间网络、默认模式网络、语言网络、执行网络、楔前叶网络、初级视觉网络、感觉运动网络
大脑中的不同网络有:突显网络.听觉网络.基底神经节网络.高级视觉网络.视觉空间网络.默认模式网络.语言网络.执行网络.楔前叶网络.初级视觉网络.感觉运动网络等 参考文献: Smitha K A, Ak ...
最新文章
- centos7使用yum安装mysql
- 程序员毕业的10年里
- 两台服务器实现会话共享
- 关于生sql中的空值
- C++11中线程所有权转移分析
- Twisted入门教程(5)
- php 巧用逻辑运算符,php的神奇逻辑运算符
- wxml 判断 小程序_如何判断小程序外包公司是否靠谱
- Spring学习总结(33)—— 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?
- ezsql mysql_数据库连接类ezsql用法
- ubuntu安装eclipse教程
- 一、设计模式 - UML (统一建模语言) - 类图
- UnityShader 浮雕凹凸贴图BumpMap与法线贴图NormalMap的原理及其区别
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
- 第五章习题——C程序设计(第四版)
- 安卓手机刷机liunx服务器_Android手机通用刷机教程,小白必看!
- Element ui 中的tree 在数据前面添加自定义图标
- 快手+中科大 | 全曝光推荐数据集KuaiRec 2.0版本
- 荣品-i.MX6Q开发板 飞思卡尔iMX6Q开发板 工业级开发板
- 微信小程序 发布后强制更新版本 强制覆盖老版本
热门文章
- Duan2baka的各种LCA模板!
- To B是场“山地战”,百度投下“空降兵”
- echarts实现四象限图
- python打印变量名
- java毕业设计团购订餐源码+lw文档+mybatis+系统+mysql数据库+调试
- 推荐大家一款游戏: Left 4 Dead ( 生存之旅/求生之路)
- Oracle-RAC集群主机重启问题分析
- mybatis调用视图和存储过程
- java timespan 格式化_C# 计算时间差 用timespan函数
- Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!) A-C