我想檢查我的defaultprinter是,如果它不是,我想選擇另一臺打印機。我使用下面的代碼來檢查它是否打開,但它始終返回true。 任何幫助,將不勝感激printDialog.PrinterSettings.IsValid返回true始終
bool printerIsOnline = false;
printerIsOnline = printDialog.PrinterSettings.IsValid;
我想檢查我的defaultprinter是,如果它不是,我想選擇另一臺打印機。我使用下面的代碼來檢查它是否打開,但它始終返回true。 任何幫助,將不勝感激printDialog.PrinterSettings.IsValid返回true始終
bool printerIsOnline = false;
printerIsOnline = printDialog.PrinterSettings.IsValid;
如果要檢查是否爲默認打印機,你可以使用PrintDialog
如下:
printDialog.PrinterSettings.PrinterName = "MyDefaultPrinterName";
bool printerIsOnline = false;
printerIsOnline = printDialog.PrinterSettings.IsDefaultPrinter;
如果你想檢查打印機是否在(連接),你可以這樣使用WMI class
:
1-將參考文獻System.Management.dll
添加到您的項目中。
2 - 使用在你的代碼的參考:
using System.Management;
3 - 使用此代碼來檢查,如果打印機處於聯機狀態(連接):
bool printerIsOnline = true;
string printerName = "MyPrinterName";
string query = string.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName);
ManagementObjectSearcher searcherPrinters = new ManagementObjectSearcher(query);
foreach (ManagementObject printer in searcherPrinters.Get())
{
printerIsOnline = !printer["WorkOffline"].ToString().Equals("True");
}
有了這個代碼,您可以訪問許多屬性打印機:
我有我的默認打印機的名稱,但當默認打印機關閉打印文本進入隊列,我想要的是檢查它是否關閉,然後選擇另一臺打印機。 –
謝謝Abdellah Oumghar。正是我想要的.. –
我改變了答案的代碼,請測試它嗎? –