簡體   English   中英

安裝軟件后未連接打印機時,Crystal Report的PrintToPrint方法會掛起軟件嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM