title: Using System.Drawing.Printing to get Queue Status
body: <p>I've been trying to use <code>System.Drawing.Printing;</code> in order to get the queue status of a network printer.</p>
  
  <p>I can retrieve the properties of the printer but I can't really seem to get the queue status.</p>
  
  <p>This is what I've tried so far:</p>
  
  <pre><code>PrinterSettings ps = new PrinterSettings();
  ps.PrinterName = "ES5461 MFP(PCL)"; // Load the appropriate printer's setting
  </code></pre>
  
  <p>From there I can see that the Printer is valid since <code>ps.IsValid</code> is <code>true</code> but I can't go any further.</p>
  
  <p>I've tried as well to use <code>System.Management</code> to retrieve the status but I just know how to dump the information and there's no queue information as well.</p>
  
  <pre><code>string printerName = "ES5461";
  string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}%'", printerName);
  
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
  ManagementObjectCollection coll = searcher.Get();
  
  foreach (ManagementObject printer in coll)
  {
      foreach (PropertyData property in printer.Properties)
      {
          Console.WriteLine(string.Format("{0}: {1}", property.Name, property.Value));
      }
  }
  </code></pre>
  
  <p>Do you know of any way to retrieve the queue status (number of documents) using any .dll? </p>