ps = new PrintServer(printserverName);
PrintQueue pq1 = new PrintQueue(ps, pq.Name);
据我了解,pq1
是一个将处理打印作业的打印机队列。
我想捕捉这个打印队列的事件。
例如,如果用户 A 进行打印,则此打印作业将添加到队列中。我想捕捉添加到队列事件中的此作业。因此,我可以知道允许用户使用多少页或验证用户。
ps = new PrintServer(printserverName);
PrintQueue pq1 = new PrintQueue(ps, pq.Name);
据我了解,pq1
是一个将处理打印作业的打印机队列。
我想捕捉这个打印队列的事件。
例如,如果用户 A 进行打印,则此打印作业将添加到队列中。我想捕捉添加到队列事件中的此作业。因此,我可以知道允许用户使用多少页或验证用户。
看起来在 win32 API 级别,您可以选择连接到队列事件:
除非您继续轮询队列的作业集合,否则我在 .NET 中找不到相同的内容。
看一眼:
http://msdn.microsoft.com/en-us/library/dd162722(v=vs.85).aspx
PRINTER_CHANGE_JOB
通知工作的任何更改。您可以设置此通用标志或以下一个或多个特定标志:
PRINTER_CHANGE_ADD_JOB PRINTER_CHANGE_SET_JOB PRINTER_CHANGE_DELETE_JOB PRINTER_CHANGE_WRITE_JOB
据我了解,您可以处理您的 OWN 打印队列(例如 AddJob ..),但您不能拦截其他用户的打印作业。