[英]Crystal Report PrintToPrint method hang the software when Printer is not connected in after software installation?
在我的項目方法中,用於Crystal Report的PrintToPrint可以正常工作,但是在安裝軟件后,當打印機未連接到計算機時,此方法會使我的軟件進程掛起。 誰能幫我解決這個問題?
我的解決方案是編寫一個函數來確認打印機是否在線,然后再調用以打開水晶報告。
using System.Management;
public bool IsPrinterReady(string printerName)
{
bool bprinterOnline = false;
ManagementScope scope = new ManagementScope(@"\root\cimv2");
scope.Connect();
// Select Printers from WMI Object Collections
ManagementObjectSearcher printerSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer");
foreach (ManagementObject printer in printerSearcher.Get())
{
if (string.IsNullOrEmpty(printer["Name"].ToString()))
{
if (printer["Name"].ToString().ToLower().Equals(printerName.ToLower()))
{
switch (printer["WorkOffline"].ToString().ToLower())
{
case "true":
bprinterOnline= true;
break;
case "false":
bprinterOnline= false;
break;
default:
bprinterOnline= false;
break;
}
break;
}
}
}
return bprinterOnline;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.