监听打印池,删除打印作业
想实现功能,监听打印池,删除打印作业。
现在程序的问题是,当连续点击打印时,有些打印任务已经在打印机端进行打印了(未删除成功)。
应该是有多个打印任务时, 上一个打印任务未处理完成,下一个打印任务就来不及被处理(所以文件在打印机端打印了)。 请教程序该如何修改。谢谢
while (true)
{
// Query to get all the queued printer jobs.
string searchQuery = "SELECT * FROM Win32_PrintJob";
// Create an object using the above query.
ManagementObjectSearcher searchPrintJobs = new ManagementObjectSearcher(searchQuery);
// Fire the query to get the collection of the printer jobs.
ManagementObjectCollection prntJobCollection = searchPrintJobs.Get();
// Look for the job you want to delete/cancel.
foreach (ManagementObject prntJob in prntJobCollection)
{
//delete job
prntJob.Delete();
}
}