Monitoring a print queue from Visual Basic.NET shows how you can use the FindFirstPrinterChangeNotification and FindnextPrinterChangeNotification API calls to get notified whenever a job is printed, paused or deleted from a print spooler queue.

Hope this is of interest - any commenst?
Duncan