Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// -1 = Error
- /// 0 = OK
- /// 1 = Near Paper End
- /// 2 = Paper not Present
- /// </summary>
- /// <param name="printerName"></param>
- /// <returns></returns>
- private int GetPrinterPaperLevel(string printerName)
- {
- int status = -1;
- string queryWmi = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName);
- using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryWmi))
- using (ManagementObjectCollection coll = searcher.Get())
- {
- try
- {
- foreach (ManagementObject printer in coll)
- {
- foreach (PropertyData property in printer.Properties)
- {
- if (property.Name == "PrinterState")
- {
- switch (property.Value.ToString())
- {
- case "0":
- status = 0;
- break;
- case "131072":
- status = 1;
- break;
- case "131088":
- status = 2;
- break;
- default:
- break;
- }
- }
- }
- }
- }
- catch(Exception ex)
- {
- txtLog.AppendText(ex.Message + "\n");
- }
- }
- return status;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement