Delphi 获取打印机,打印队列中任务数量
项目中使用标签打印机打印标签,由于客户是“自由爱好者”,处理两次“无法打印”的技术咨询后,写了个函数:
虽然CSDN语法中都没有了Delphi,但是WEBURL调用打印机快速打印不干胶标签,Delphi是我效率最高的选项。
//打印机队列任务数 失败返回 -1,否则为队列任务数量
function GetPrinterTaskCount(PrinterName:String):Integer;implementationuses winspool;function GetPrinterTaskCount(PrinterName:String):Integer;
varpHandle:THandle;LPStrBuf: Array [0..256] of Char; // 打印机名称NoJobs:Word; // 希望获取的作业数len:LongWord; // Job_Info 的字节数Job_Info: array[0..10] of JOB_INFO_1; // 打印队列信息cbNeeded:Cardinal;cReturned:Cardinal; //队列数量ret:LongBool;
beginResult:=-1;if OpenPrinter('GP-5830 Series',pHandle,nil) thentrylen:= Sizeof(Job_Info);cbNeeded:=0;cReturned:=0;NoJobs:=10 ;if EnumJobs(pHandle,0 ,NoJobs,1,@Job_Info,len,cbNeeded,cReturned) thenbeginresult:= cReturned;end else Result:=-1;finallyif ( pHandle <> 0 ) then ClosePrinter( pHandle );end;
end;
ok,加到项目中:
p:=nil;if cbx_Gprinter.ItemIndex<0 thenbeginisExit:=True;FTerminated:=False;Show();ShowMessage('请安装并设置,标签打印机!');Exit;endelsebegini:=GetPrinterTaskCount(cbx_Gprinter.Text);if i>0 thenbeginisExit:=True;FTerminated:=true;//Show();ShowMessage('打印机:'+cbx_Gprinter.Text+' 中存在 【 '+IntToStr(i)+' 】个打印任务,请等待打印完成或清空队列后再试!');Exit;end;end;
不解释了:
Delphi 获取打印机,打印队列中任务数量相关推荐
- delphi 获取打印机默认纸张_Delphi 动态调整打印机纸张大小
修 改与当前打印机相关的DevMode 结构中的成员.DocumentProperties 函数申明如下: Delphi代码 LONG DocumentProperties ( HWND hWnd, ...
- 如何删除打印队列中的任务
参考: http://blog.sina.com.cn/s/blog_6e0401aa0100mdsi.html http://jingyan.baidu.com/article/d45ad1488e ...
- delphi 获取打印机默认纸张_在DELPHI中实现打印的预览
在DELPHI中实现打印的预览 PCPOP.COM 2005年10月18日 类型:转载 作者:<电脑报> 编辑:王琛 ----------------------------------- ...
- delphi 获取打印机默认纸张_Delphi中如何控制打印方向,纸张大小等 | 学步园
如何在程序里控制打印纸张大小(A3,A4)和打印方向?不想打开设置窗口 --------------------------------------------------------------- ...
- delphi 获取打印机默认纸张_如何设置一台打印机打印不同尺寸的纸张
Delphi(Pascal) codevar PrtInfo2: PPrinterInfo2;//具体的内容 查查MSDN DeviceMode: PDeviceMode;//具体的内容 查查MSDN ...
- delphi 获取数组长度_Java中的数组(基础篇六)
在学习数组之前我们先来了解一下容器,生活中的容器比如水杯是用来装水的,衣柜是装衣服的,Java中的容器是用来存储数据的,将多个数据存储到一起,每个数据称为该容器的元素. 数组:数组就是存储数据长度固定 ...
- 打印机打印列队中打印状态为错误的解决方式之一
右键[我的电脑(win7以上为"计算机")],点击[管理],展开[服务和应用程序],点击[服务]. 找到右侧的[print spooler]项,右键选择[停止]. win+R打开运 ...
- python队列中替换某元素_如何打印队列中的元素(Python)
试试这个:class LinkedQueue : class _Node : def __init__(self, element, next): self._element = element se ...
- Winform 打印PDF顺序混乱,获取打印队列
Winform 打印PDF顺序混乱,获取打印队列 原文:Winform 打印PDF顺序混乱,获取打印队列 工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实 ...
最新文章
- 【ACM】杭电1022:Train Problem I
- uc/os-ii中最高优先级计算(如何查表)
- xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
- php获取字符串商都_php strlen获取字符串字节长度和mb_strlen获取字符串个数长度的区别(strlen获取中文长度)...
- apr_file_seek 踩坑
- Shell脚本之IP网络地址和广播地址计算
- 《假如编程是魔法之零基础看得懂的Python入门教程 》——(三)使用初始魔法跟编程魔法世界打个招呼吧
- Hibernate与MyBatis对比
- Springboot配置通过URL访问图片(静态资源)
- linux update语句,关于Update语句的调整(5-1)
- (17)System Verilog枚举类型enum详解
- 64位CentOS6.5下Eclipse用Java连接mysql
- 四叶草关闭啰嗦模式_利用OCC配置器关闭开机跑代码(啰嗦模式)教程
- maccms10自动播放下一集
- IMT和北京大学微纳电子学研究院持续开展战略合作,三位优秀学生获2017年度MEMS专项奖学金
- centos7 离线安装 rar 解压缩软件
- 深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装。你从未见过的全有版本)
- Bearer token
- 六 系统可靠性分析与设计
- 11. 前端基础--CSS盒子定位
热门文章
- 一个外地漂泊者的心路
- android rxjava作用,Android-RxJava
- SVC模型评估指标与ROC曲线
- HTML5和CSS3
- 【tarjan】 P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G
- java借助modbus协议实现与设备的通讯,收发信息,实现对设备信息的采集
- 对象存储服务(Object Storage Service,简称 OSS)
- 实施部署(锐捷云桌面篇)
- HTML5期末大作业:游戏网站设计——腾讯游戏(页)学生HTML个人网页作业作品下载 个人网页设计制作 大学生个人网站作业模板 简单个人网页制作
- 软件的时髦风 (转)