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