1
ps = new PrintServer(printserverName);

PrintQueue pq1 = new PrintQueue(ps, pq.Name); 

据我了解,pq1是一个将处理打印作业的打印机队列。

我想捕捉这个打印队列的事件。

例如,如果用户 A 进行打印,则此打印作业将添加到队列中。我想捕捉添加到队列事件中的此作业。因此,我可以知道允许用户使用多少页或验证用户。

4

2 回答 2

0

看起来在 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

于 2011-06-28T13:22:24.640 回答
0

据我了解,您可以处理您的 OWN 打印队列(例如 AddJob ..),但您不能拦截其他用户的打印作业。

于 2011-06-28T13:18:01.613 回答