Monitor jobs in a printer queue (.NET)
https://www.codeproject.com/Articles/51085/Monitor-jobs-in-a-printer-queue-NET
c# 完整代码展示了如何获取打印机任务状态
Print Spooler API
https://docs.microsoft.com/zh-cn/windows/win32/printdocs/print-spooler-api
The Print Spooler API provides an interface to the print spooler for applications to manage printers and print jobs.
The Print Spooler API is used by an application as part of its programming and not directly by end users.
PrintQueue.GetPrintJobInfoCollection Method
Creates a collection that contains a PrintSystemJobInfo object for each job in the queue.
"Virtual Printer" or "Moving Printjobs" (C++)
https://cboard.cprogramming.com/windows-programming/108156-virtual-printer-moving-printjobs.html
Monitoring a Printer Queue from VB.NET
https://www.codeproject.com/Articles/3313/Monitoring-a-Printer-Queue-from-VB-NET
How to catch printer event in python
https://stackoverflow.com/questions/15748386/how-to-catch-printer-event-in-python
Printers and SafeHandles
https://www.codeproject.com/Articles/14690/Printers-and-SafeHandles
Printers and SafeHandles (Part 2)
https://www.codeproject.com/Articles/15084/Printers-and-SafeHandles-Part-2