C#学习教程:如何在C#.NET中捕获打印作业分享


如何在C#.NET中捕获打印作业

我正在尝试捕获在本地网络中提交给打印机的每个打印作业。 我想显示工作的一些属性,如工作名称,提交时间等。

我尝试了一个while循环,但它没有捕获我的打印作业,也许是因为它在线程正在睡觉时发生。 有没有我可以注册和处理的事件? 我不想花费所有CPU资源来完成此任务的infinetly循环。

我试过这个:

public static void WritePrinterJobs() { while (true) { foreach (var job in LocalPrintServer.GetDefaultPrintQueue().GetPrintJobInfoCollection()) { Console.WriteLine(job.Submitter + " " + job.TimeJobSubmitted.ToShortDateString()); } Thread.Sleep(100); } } 

编辑:上面的代码实际上工作,你不需要更低级别,如果它适合你,我的错误是没有正确配置默认打印机。

我找到了解决方案。 对于那些正在寻找处理打印作业事件的方法,请看一下:

FindFirstPrinterChangeNotification

并且还可以找到工作代码监视打印作业

尝试Windows管理工具。 当我们有事件和委托时,无需轮询。 请参阅此处获取解决方案。

上述就是C#学习教程:如何在C#.NET中捕获打印作业分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1301595.html

(0)
上一篇 2023年1月12日 下午6:47
下一篇 2023年1月13日 上午10:54

精彩推荐