C# - 检测是否选中打印队列中的 "Pause Printing" 选项

C# - Detect if "Pause Printing" option in Print Queue is checked

我目前正在寻找一种方法来检测 "See What's Printing" window 中的 "Pause Printing" 选项是否被选中。

我到处搜索,并查看了 Win32 本机打印 API (winspool) 以查看是否有这样的检测可用,但无济于事。

有没有人有成功实施此检测的经验?

有兴趣者:

使用级别 2 的 GetPrinter,然后填充的 PRINTER_INFO_2 结构包含一个成员 Status,它应该设置位 PRINTER_STATUS_PAUSED。

相关 MSDN 文章:
Documents and Printing > Print Spooler API > Print Spooler API Reference > Print Spooler API Functions > GetPrinter

这将帮助您为 PRINTER_ATTRIBUTES 和 PRINTER_STATUS 构建枚举:
https://msdn.microsoft.com/en-us/library/cc244854.aspx

这将帮助您构建 PRINTER_INFO_2 的结构:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd162845(v=vs.85).aspx