我正在開發中的.Net應用程序(CSHARP 4.0)斑馬打印機,以檢測是否安裝了斑馬打印機檢測,然後發送一個條碼打印機的ZPL如果ZPL在EPL否則suppported。我如何檢查是否安裝了斑馬打印機或可用網絡(共享打印機),如果是,它支持ZPL或EPL。我想檢查設備ID。但它看起來設備ID只是顯示名稱,並且當我從打印機和設備更改打印機名稱時發生更改。如何是否安裝或不
thanx
我正在開發中的.Net應用程序(CSHARP 4.0)斑馬打印機,以檢測是否安裝了斑馬打印機檢測,然後發送一個條碼打印機的ZPL如果ZPL在EPL否則suppported。我如何檢查是否安裝了斑馬打印機或可用網絡(共享打印機),如果是,它支持ZPL或EPL。我想檢查設備ID。但它看起來設備ID只是顯示名稱,並且當我從打印機和設備更改打印機名稱時發生更改。如何是否安裝或不
thanx
您不想檢查型號名稱。而是檢查哪些驅動程序正在控制打印機。畢竟 - 具有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);
}
}
}
我跟着鏈接,但無法得到一個辦法,找出模型。你能否引導我多一點。這將會有所幫助。 – ZafarYousafi
我舉了一個例子如何找到Zebra打印機。 – Jaapjan
感謝名單,我的打印機驅動程序顯示驅動程序名稱ZDesigner。所以看起來我需要在檢查驅動程序時同時處理斑馬紋和zdesigner。 – ZafarYousafi
自動發現只是不會工作。如果有兩臺打印機可用,該怎麼辦?這應該使用打印機名稱進行配置,或者讓用戶使用PrintDialog選擇打印機。 –