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