0
bool IsOffline = false;
           
            ManagementObjectSearcher searcher = new
            ManagementObjectSearcher("SELECT * FROM Win32_Printer where Name='" + printer_name + "'");
            foreach (ManagementObject printer in searcher.Get())
            {

                ReadyCheck(printer);
                IsOffline = (bool)printer["WorkOffline"];   
                var ans =printer["PrinterState"];
                var sdgs = Int32.Parse(printer["PrinterStatus"].ToString());
                switch (Int32.Parse(printer["DetectedErrorState"].ToString()))
                {
                    case 1: Console.WriteLine("Other"); break;
                    case 2: Console.WriteLine("Unknown"); break;
                    case 3: Console.WriteLine("Idle"); break;
                    case 4: Console.WriteLine("Printing"); break;
                    case 5: Console.WriteLine("Warmup"); break;
                    case 6: Console.WriteLine("Stopped printing"); break;
                    case 7: Console.WriteLine("Offline"); break;
                    default: Console.WriteLine("sfaasf"); break;
                }
            }

            if (!IsOffline)
            {
               // ReadyCheck(printer);
            }

//PrinterStatus this gives always 3 and Idle its not supported by my Xprinter XP -80c

I expected any changes in answers but always got false in out of paper

Rand Random
  • 7,300
  • 10
  • 40
  • 88

0 Answers0