//得到本机或者网络上共享打印机的状态和打印任务
//author:ginsonic
//zdcnow download from E-E

use winspool;

function PrinterStatusText(Status: Integer): String;
begin
case Status of
    0:                             Result := 'Waiting';
    JOB_STATUS_PAUSED:             Result := 'Paused';
    JOB_STATUS_ERROR:              Result := 'Error';
    JOB_STATUS_DELETING:           Result := 'Deleting';
    JOB_STATUS_SPOOLING:           Result := 'Spooling';
    JOB_STATUS_PRINTING:           Result := 'Printing';
    JOB_STATUS_OFFLINE:            Result := 'Offline';
    JOB_STATUS_PAPEROUT:           Result := 'Paper Out';
    JOB_STATUS_PRINTED:            Result := 'Printed';
    JOB_STATUS_DELETED:            Result := 'Deleted';
    JOB_STATUS_BLOCKED_DEVQ:       Result := 'Blocked';
    JOB_STATUS_USER_INTERVENTION: Result := 'User Intervention';
    JOB_STATUS_RESTART:            Result := 'Restart';
else Result := 'Status ' + IntToStr(Status);
end;
end;

procedure GetJobs(PrinterName: String; JobList: TStrings);
const
   InfoLevel = 1;
   FirstJob = 0;
   LastJob = 19;
var
   Jobs: array [FirstJob..LastJob] of TJobInfo1;
   PrinterHandle, BytesNeeded,NumJobs:Cardinal;
   I: Integer;
begin
   if OpenPrinter(PChar(PrinterName),PrinterHandle,nil) then
   begin
     if   EnumJobs(PrinterHandle,FirstJob,LastJob+1,InfoLevel,@Jobs,SizeOf(Jobs)
,BytesNeeded,NumJobs) then begin
       JobList.Clear;
       for I := 0 to NumJobs-1 do
       with Jobs[I] do
         JobList.Add(Format('%s(%s)',[StrPas(pDocument),PrinterStatusText(Statu
s)]));
     end;
     ClosePrinter(PrinterHandle);
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   GetJobs('\\rcsrv\HP LaserJet 6L',Memo1.Lines);
end;

转载于:https://www.cnblogs.com/lzj1981/archive/2013/05/01/3053342.html

得到本机或者网络上共享打印机的状态和打印任务相关推荐

  1. 计算机打开共享网络连接打印机共享打印机,网络共享打印机连接不上怎么办_电脑连不上共享打印机如何解决-win7之家...

    通常为了方便多人可以一起共用一台打印机,都会在局域网络中将打印机共享,可是近日有不少用户却遇到网络共享打印机连接不上的情况,这该怎么办呢,确认打印机已经共享,并且电脑在同一个家庭组里,针对脑连不上共享 ...

  2. 网络3共享网络2计算机打印机,如何添加本地打印机与共享网络上的打印机

    一.如何添加本地打印机 *.为确保安装过程正常,请关闭杀毒软件和防火墙 *.在安装过程中如果系统出现'驱动程序没有通过徽标测试--'的提示框,选择'仍然继续'即可.请放心,这没有任何问题,不会对系统造 ...

  3. win7无法连接打印机拒绝访问_win7共享打印机无法连接怎么办?win7连不上共享打印机解决方法...

    Win7系统虽然在慢慢退出操作系统的舞台,但是使用的用户不在少数,在日常工作中,很多win7用户需要打印文件,因此就会在局域网中设置共享打印机.有用户自爱设置完共享后,出现无法连接的情况,遇到这种情况 ...

  4. 服务器共享出去的文件显示脱机,网络 局域网共享打印机脱机故障处理方法

    网络/局域网共享打印机脱机故障处理方法: 有一共享打印机连接在装有Windows 2000操作系统的服务器中,与该服务器同处一个工作组中的其他工作站安装的都是Windows xp操作系统.当打开Win ...

  5. 如何在Mac 上共享打印机

    你可以在其他 Mac 或 UNIX 电脑共享打印机.不过这些电脑必须位于你Mac 所在的同一个本地网络上,而且 Mac 用户必须运行 OS X v10.4 或更高版本.感兴趣的小伙伴可以看看哦 打印机 ...

  6. 将书籍扫描做成电子版在网络上共享,这算不算侵权?

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 将书籍扫描做成 ...

  7. 计算机与打印机脱机后怎么共享,我电脑是共享打印机,现在状态显示脱机该怎么办...

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:我电脑是共享打印机,现在状态显示脱机该怎么办?打印机回答:打印器有问题了呗. 参考回答:潭陋纠跳授鳖 /朋友圈里面现在都在用这款.不 ...

  8. 访问网络上共享的打印机每次都需要重新输入用户名密码解决方案

    原因没有设置guest权限: 首先打开电脑的控制面板,然后找到"管理工具"选项,点击进入: 2.然后我们需要在管理工具界面找到"本地安全策略"选项,打开: 3. ...

  9. 文件共享服务器imac,iMac怎么在网络上共享设备windows文件夹和服务 | MOS86

    本章通过向您展示如何在网络和Mac和Windows计算机之间共享文件,文件夹和设备,帮助您充分利用您的iMac网络连接. →使用Macs共享文件和文件夹使用AirDrop和文件共享 →与Windows ...

最新文章

  1. POJ 1189 记忆化搜索
  2. export 和export default不同的引入方式
  3. ADC的参数分析以及采样分析
  4. java数组转换成字符串,附小技巧
  5. 文件共享服务器连接数问题,共享服务器上连接数量的设置
  6. 《Adobe SiteCatalyst网站分析权威手册》一1.3 SiteCatalyst是怎么工作的
  7. centos7 minimal运行vue项目npm run serve时报错:Error: spawn xdg-open ENOENT --解决办法:yum install xdg-utils
  8. Leetcode 77.组合
  9. Opencv dnn实现人类性别检测和年龄预测
  10. 设单片机的晶振频率为6mhz c语言,单片机习题科学出版社.doc
  11. [论文阅读][ICP变种] Generalized-ICP
  12. HTML---初识HTML
  13. 四天学会Mybatis
  14. Web前端笔记(10)Grid布局
  15. mybatis获取mysql自增主键_Mybatis获取数据库自增主键
  16. [控件] 将字符串转换成贝塞尔曲线并执行动画
  17. 泛函密度 matlab,【讨论】密度泛函理论中“密度”究竟指什么 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  18. 用户抱怨苹果一体机进灰 苹果称中国环境不好
  19. 驱动学习(十)poll机制
  20. Linux gzip gunzip(压缩与解压缩)命令

热门文章

  1. python实现屏幕录制_JavaScript 屏幕录制 API 学习
  2. 基于php校园失物招领,校园失物招领系统设计
  3. java字符串转json_java 字符串转成 json 数组并且遍历
  4. wordpress页面里可不可以写php,如何在WordPress页面中创建不同的可编辑部分?
  5. java string对象名称_java中常见对象——String
  6. mysql time 5分钟_MySQL 使用 PV 和 PVC 每天5分钟玩转 Docker 容器技术(154)
  7. oracle数据库实践,RubyonRails连接Oracle数据库实践
  8. easyui dialog 不执行页面js_Spring Security(六):前端菜单,角色权限页面的搭建
  9. java虚拟机内存告警_java虚拟机内存溢出各种场景总结
  10. linux操作系统源码分析,linux操作系统源代码详细分析.doc