2010-11-25 5 views
0

Comment puis-je assurer le suivi des activités de l'imprimante telles que:événement Impression sur C#

  • Quand a débuté l'impression?
  • Combien de pages ont été imprimées? etc
+1

Pages imprimées à partir de votre application, ou des pages imprimées de partout? Certains détails seraient appréciés ici. –

+0

imprimé de partout – emirate

+0

pouvez-vous poster le code source de votre fonction d'impression? –

Répondre

1

Vous voulez mettre en place un service qui écoute les événements de notification de changement d'imprimante à l'aide des fonctions FindFirstPrinterChangeNotification, FindNextPrinterChangeNotification et FindClosePrinterChangeNotification. Et écoutez l'événement PRINTER_CHANGE_JOB. Lorsqu'un événement de travail d'impression est déclenché, vous pouvez accéder aux informations de travail nécessaires à partir de la structure PRINTER_NOTIFY_INFO_DATA.

Cette méthode doit être prise avec un grain de sel. J'ai constaté par expérience que les événements de l'imprimante ne sont pas fiables lorsque le serveur est en charge avec de nombreux travaux d'impression se produisant en même temps. Certains événements de l'imprimante ne se déclencheront pas.

De toute évidence, cette solution prendra beaucoup de P-Invoke & Marshalling, donc je vous souhaite bonne chance. Si l'écriture de l'application en C++ est une option, elle sera probablement plus facile qu'en C# dans ce cas.