2014-10-22 3 views
3

Я довольно недавно печатаю на C# и пытаюсь найти текущее состояние конкретного принтера (если он отключен, если он отсутствует, и т. Д.) Перед печатью.Как проверить состояние принтера на C#?

LocalPrintServer server = new LocalPrintServer(); 
PrintQueue printQueue = server.GetPrintQueue("EPSON WF-2540 Series"); 
MessageBox.Show(printQueue.IsOffline.ToString()); 

Код, кажется, успешно находит указанный принтер, но всегда рассматривает его как онлайн. Не имеет значения, включен ли принтер, выключен или даже отключен (я использую прямое соединение USB). Есть ли у кого-нибудь идеи относительно того, что может быть причиной этого? Заранее спасибо, я очень благодарен!

+0

Возможный дубликат: http://stackoverflow.com/questions/296182/how-to-get-printer-info-in-net – Icemanind

ответ

7

Из MSDN документации по PrintQueue.IsOffline членов (замечания раздел):

Если принтер не поддерживает сигнал с этим значением, то свойство всегда ложно.

очевидно, это ваш случай, и для этого свойства никогда не установлено значение True.

Смежные вопросы