こんな感じで拾えますので、どぞ。System.ManagementのDLLに参照を追加してImportしておいて下さい。
public static bool IsPrinterOffLine(string printerName = "") { ManagementScope scope = new ManagementScope("\\root\\cimv2"); scope.Connect(); // Select Printers from WMI Object Collections ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer"); foreach (ManagementObject printer in searcher.Get()) { if(printer.GetPropertyValue("DeviceID").Equals(printerName)) { return (Boolean)printer.GetPropertyValue("WorkOffline"); } } //プリンタが見つからないならtrue return true; }