System.Printing返回printqueue状态 - 属性永远不会返回true

时间:2010-02-19 13:52:05

标签: c# system.printing printqueue

我正在使用System.Printing来查询PrintQueue状态 - 我的目标是获取状态更新&错误,特别是布尔值IsOutOfMemory,NeedUserIntervention,IsOutOfPaper,HasPaperProblem,IsPaperJammed,IsInError,IsPaused,IsBusy,IsPrinting,IsProcessing,IsInitializing,IsDoorOpened等。问题是属性永远不会返回true,即使我知道一个是真的。有没有人成功使用这些属性?任何人都知道这里可能有什么问题或遗漏?

由于 詹姆斯

2 个答案:

答案 0 :(得分:1)

我猜你必须调用PrintQueue.Refresh方法来更新属性。

答案 1 :(得分:0)

虽然这个问题已经得到解答,但另一个问题可能是打印机不支持上述信号。根据MSDN,这些信号默认设置为false。

必须注意HasToner标志,如果您不确定打印机是否支持此信号,则无法用于查找问题(因为默认设置为false,因此您可以' t判断是否没有碳粉或没有碳粉存在迹象。)