项目中使用标签打印机打印标签,由于客户是“自由爱好者”,处理两次“无法打印”的技术咨询后,写了个函数:

虽然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 获取打印机,打印队列中任务数量相关推荐

  1. delphi 获取打印机默认纸张_Delphi 动态调整打印机纸张大小

    修 改与当前打印机相关的DevMode 结构中的成员.DocumentProperties 函数申明如下: Delphi代码 LONG DocumentProperties ( HWND hWnd, ...

  2. 如何删除打印队列中的任务

    参考: http://blog.sina.com.cn/s/blog_6e0401aa0100mdsi.html http://jingyan.baidu.com/article/d45ad1488e ...

  3. delphi 获取打印机默认纸张_在DELPHI中实现打印的预览

    在DELPHI中实现打印的预览 PCPOP.COM 2005年10月18日 类型:转载 作者:<电脑报> 编辑:王琛 ----------------------------------- ...

  4. delphi 获取打印机默认纸张_Delphi中如何控制打印方向,纸张大小等 | 学步园

    如何在程序里控制打印纸张大小(A3,A4)和打印方向?不想打开设置窗口 --------------------------------------------------------------- ...

  5. delphi 获取打印机默认纸张_如何设置一台打印机打印不同尺寸的纸张

    Delphi(Pascal) codevar PrtInfo2: PPrinterInfo2;//具体的内容 查查MSDN DeviceMode: PDeviceMode;//具体的内容 查查MSDN ...

  6. delphi 获取数组长度_Java中的数组(基础篇六)

    在学习数组之前我们先来了解一下容器,生活中的容器比如水杯是用来装水的,衣柜是装衣服的,Java中的容器是用来存储数据的,将多个数据存储到一起,每个数据称为该容器的元素. 数组:数组就是存储数据长度固定 ...

  7. 打印机打印列队中打印状态为错误的解决方式之一

    右键[我的电脑(win7以上为"计算机")],点击[管理],展开[服务和应用程序],点击[服务]. 找到右侧的[print spooler]项,右键选择[停止]. win+R打开运 ...

  8. python队列中替换某元素_如何打印队列中的元素(Python)

    试试这个:class LinkedQueue : class _Node : def __init__(self, element, next): self._element = element se ...

  9. Winform 打印PDF顺序混乱,获取打印队列

    Winform 打印PDF顺序混乱,获取打印队列 原文:Winform 打印PDF顺序混乱,获取打印队列 工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实 ...

最新文章

  1. 【ACM】杭电1022:Train Problem I
  2. uc/os-ii中最高优先级计算(如何查表)
  3. xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
  4. php获取字符串商都_php strlen获取字符串字节长度和mb_strlen获取字符串个数长度的区别(strlen获取中文长度)...
  5. apr_file_seek 踩坑
  6. Shell脚本之IP网络地址和广播地址计算
  7. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(三)使用初始魔法跟编程魔法世界打个招呼吧
  8. Hibernate与MyBatis对比
  9. Springboot配置通过URL访问图片(静态资源)
  10. linux update语句,关于Update语句的调整(5-1)
  11. (17)System Verilog枚举类型enum详解
  12. 64位CentOS6.5下Eclipse用Java连接mysql
  13. 四叶草关闭啰嗦模式_利用OCC配置器关闭开机跑代码(啰嗦模式)教程
  14. maccms10自动播放下一集
  15. IMT和北京大学微纳电子学研究院持续开展战略合作,三位优秀学生获2017年度MEMS专项奖学金
  16. centos7 离线安装 rar 解压缩软件
  17. 深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装。你从未见过的全有版本)
  18. Bearer token
  19. 六 系统可靠性分析与设计
  20. 11. 前端基础--CSS盒子定位

热门文章

  1. 一个外地漂泊者的心路
  2. android rxjava作用,Android-RxJava
  3. SVC模型评估指标与ROC曲线
  4. HTML5和CSS3
  5. 【tarjan】 P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G
  6. java借助modbus协议实现与设备的通讯,收发信息,实现对设备信息的采集
  7. 对象存储服务(Object Storage Service,简称 OSS)
  8. 实施部署(锐捷云桌面篇)
  9. HTML5期末大作业:游戏网站设计——腾讯游戏(页)学生HTML个人网页作业作品下载 个人网页设计制作 大学生个人网站作业模板 简单个人网页制作
  10. 软件的时髦风 (转)