精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>打印机(printer)>>Re:局域网打印原理!

主题:Re:局域网打印原理!
发信人: wenbobo()
整理人: wenbobo(2002-12-24 09:09:40), 站内信件
多读帮助,参考API:EnumJobs,下面这个结构是你需要的
typedef struct _JOB_INFO_1 { 
  DWORD  JobId; 
  LPTSTR pPrinterName; //打印机名称
  LPTSTR pMachineName; //打印用户的电脑名称
  LPTSTR pUserName; //打印用户的登录用户名
  LPTSTR pDocument; //文档名
  LPTSTR pDatatype; //文档类型
  LPTSTR pStatus;   //当前打印状态
  DWORD  Status; //当前打印状态
  DWORD  Priority; //优先级
  DWORD  Position; //在打印队列中的位置
  DWORD  TotalPages; //总共页数
  DWORD  PagesPrinted; //已打印页数
  SYSTEMTIME Submitted; //提交打印的时间
} JOB_INFO_1, *PJOB_INFO_1; 

实现:
1、隔段时间监视一下,运行效率比较低,但编码容易。
2、用AddMonitor注册一个监视dll,运行效率高,但程序不好写

不要试图sniffer,因为微软并没有规定网络打印传输协议,这可以由网络打印驱动程序自由发挥,不同打印机的传输格式不同。


【 在 xiaolong8000 的大作中提到:】
:局域网打印原理!
:为防止局域网中乱打印情况,我想做一个监控局域网中各台电脑的打印情况,这个
:
:软件装在有打印机电脑上.哪台电脑打印了多少页?打印时间?打印路径?打印文档
:
:
:......
 

[关闭][返回]