Обратите внимание, что статья, на которую dowski и Panos ссылалась ( MSDN Win32_Printer ) быть немного вводящим в заблуждение.
Я имею в виду первое значение большинства массивов. некоторые начинаются с 1, а некоторые начинаются с 0.
Например, первое значение в таблице « ExtendedPrinterStatus » равно 1, поэтому ваш массив должен выглядеть примерно так:
string[] arrExtendedPrinterStatus = {
"","Other", "Unknown", "Idle", "Printing", "Warming Up",
"Stopped Printing", "Offline", "Paused", "Error", "Busy",
"Not Available", "Waiting", "Processing", "Initialization",
"Power Save", "Pending Deletion", "I/O Active", "Manual Feed"
};
и с другой стороны, первое значение в таблице " ErrorState " равно 0, поэтому ваш массив должен выглядеть примерно так:
string[] arrErrorState = {
"Unknown", "Other", "No Error", "Low Paper", "No Paper", "Low Toner",
"No Toner", "Door Open", "Jammed", "Offline", "Service Requested",
"Output Bin Full"
};
Кстати,
« PrinterState » устарел, но вы можете использовать « PrinterStatus ».