PrintQueue::QueueStatus Property
.NET Framework (current version)
Gets a value that represents the status of the printer. These include "warming up," "initializing," "printing," and others.
Assembly: System.Printing (in System.Printing.dll)
The following example shows how to use this property as part of a survey all printers for possible error status.
internal: // Check for possible trouble states of a printer using the flags of the QueueStatus property static void SpotTroubleUsingQueueAttributes (System::String^% statusReport, System::Printing::PrintQueue^ pq) { if ((pq->QueueStatus & PrintQueueStatus::PaperProblem) == PrintQueueStatus::PaperProblem) { statusReport = statusReport + "Has a paper problem. "; } if ((pq->QueueStatus & PrintQueueStatus::NoToner) == PrintQueueStatus::NoToner) { statusReport = statusReport + "Is out of toner. "; } if ((pq->QueueStatus & PrintQueueStatus::DoorOpen) == PrintQueueStatus::DoorOpen) { statusReport = statusReport + "Has an open door. "; } if ((pq->QueueStatus & PrintQueueStatus::Error) == PrintQueueStatus::Error) { statusReport = statusReport + "Is in an error state. "; } if ((pq->QueueStatus & PrintQueueStatus::NotAvailable) == PrintQueueStatus::NotAvailable) { statusReport = statusReport + "Is not available. "; } if ((pq->QueueStatus & PrintQueueStatus::Offline) == PrintQueueStatus::Offline) { statusReport = statusReport + "Is off line. "; } if ((pq->QueueStatus & PrintQueueStatus::OutOfMemory) == PrintQueueStatus::OutOfMemory) { statusReport = statusReport + "Is out of memory. "; } if ((pq->QueueStatus & PrintQueueStatus::PaperOut) == PrintQueueStatus::PaperOut) { statusReport = statusReport + "Is out of paper. "; } if ((pq->QueueStatus & PrintQueueStatus::OutputBinFull) == PrintQueueStatus::OutputBinFull) { statusReport = statusReport + "Has a full output bin. "; } if ((pq->QueueStatus & PrintQueueStatus::PaperJam) == PrintQueueStatus::PaperJam) { statusReport = statusReport + "Has a paper jam. "; } if ((pq->QueueStatus & PrintQueueStatus::Paused) == PrintQueueStatus::Paused) { statusReport = statusReport + "Is paused. "; } if ((pq->QueueStatus & PrintQueueStatus::TonerLow) == PrintQueueStatus::TonerLow) { statusReport = statusReport + "Is low on toner. "; } if ((pq->QueueStatus & PrintQueueStatus::UserIntervention) == PrintQueueStatus::UserIntervention) { statusReport = statusReport + "Needs user intervention. "; } // Check if queue is even available at this time of day // The method below is defined in the complete example. ReportAvailabilityAtThisTime(statusReport, pq); };
.NET Framework
Available since 3.0
Available since 3.0
Show: