2010-11-25 65 views
0

我如何跟蹤打印機的活動,如:打印事件

  • 什麼時候開始打印?
  • 已打印多少頁? etc
+1

從您的應用程序打印的頁面,還是從任何地方打印的頁面?一些細節將在這裏讚賞。 – 2010-11-25 11:01:14

+0

無處不打印 – emirate 2010-11-25 11:02:50

+0

你能發表你的打印功能的源代碼嗎? – 2010-11-25 11:06:08

回答

1

你想設置使用FindFirstPrinterChangeNotification,FindNextPrinterChangeNotificationFindClosePrinterChangeNotification函數監聽打印機更改通知事件的服務。並收聽PRINTER_CHANGE_JOB事件。當發生打印作業事件時,您可以訪問PRINTER_NOTIFY_INFO_DATA結構中的必要作業信息。

這種方法應該採取一粒鹽。我從經驗中發現,當服務器負載很重的時候,打印機事件並不可靠,許多打印作業同時發生。某些打印機事件不會觸發。

顯然這個解決方案需要很多P-Invoking &編組,所以我祝你好運。如果用C++編寫應用程序是一種選擇,那麼在這種情況下,它可能比在C#中更容易。