2012-05-08 65 views
2

我正在開發中的.Net應用程序(CSHARP 4.0)斑馬打印機,以檢測是否安裝了斑馬打印機檢測,然後發送一個條碼打印機的ZPL如果ZPL在EPL否則suppported。我如何檢查是否安裝了斑馬打印機或可用網絡(共享打印機),如果是,它支持ZPL或EPL。我想檢查設備ID。但它看起來設備ID只是顯示名稱,並且當我從打印機和設備更改打印機名稱時發生更改。如何是否安裝或不

thanx

+1

自動發現只是不會工作。如果有兩臺打印機可用,該怎麼辦?這應該使用打印機名稱進行配置,或者讓用戶使用PrintDialog選擇打印機。 –

回答

3

您不想檢查型號名稱。而是檢查哪些驅動程序正在控制打印機。畢竟 - 具有ZPL功能的打印機將使用Zebra打印機驅動程序。你可以檢查下面演示的drivername屬性。當然,還有更多關於打印機的特性。

using System; 
using System.Management; 

namespace Test 
{ 
    class Program 
    { 
     public static void Main(string[] args) 
     { 
      string query = string.Format("SELECT * from Win32_Printer"); 
      ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); 
      ManagementObjectCollection coll = searcher.Get(); 

      foreach (ManagementObject printer in coll) 
      { 
       //foreach (PropertyData property in printer.Properties) 
       //{ 
       // Console.WriteLine(string.Format("{0}: {1}", property.Name, property.Value)); 
       //} 

       var property = printer.Properties["DriverName"]; 
       if (property.Value.ToString().ToLowerInvariant().Contains("zebra")) 
       { 
        Console.ForegroundColor = ConsoleColor.Red; 
        Console.Write("ZEBRA: "); 
       } 
       else 
       { 
        Console.ForegroundColor = ConsoleColor.Gray; 
        Console.Write("Regular: "); 
       } 

       Console.WriteLine(string.Format("{0}: {1}", property.Name, property.Value)); 
      } 

      Console.Write("Press any key to continue . . . "); 
      Console.ReadKey(true); 
     } 
    } 
} 
+0

我跟着鏈接,但無法得到一個辦法,找出模型。你能否引導我多一點。這將會有所幫助。 – ZafarYousafi

+0

我舉了一個例子如何找到Zebra打印機。 – Jaapjan

+0

感謝名單,我的打印機驅動程序顯示驅動程序名稱ZDesigner。所以看起來我需要在檢查驅動程序時同時處理斑馬紋和zdesigner。 – ZafarYousafi

相關問題