Moin moin!
Ich kann mir mit folgendem Code die installierten Drucker ausgeben:
List<String> Printers = new List<string>();
foreach (string Name in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
Printers.Add(Name);
}
Nun muss ich wissen, wie der konfigurierte Port des Druckers heißt. Leider finde ich in der Klasse PrinterSettings keine entsprechende Methode/Property.
Hat jemand eine Idee?
moinsen,
mit WMI geht das soweit ich weiss 😃
schau dir das mal an
using System;
using System.Management;
using System.Windows.Forms;
namespace WMISample
{
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_Printer");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_Printer instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("PortName: {0}", queryObj["PortName"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
}
grüßle
Ristor
Ich wurde gebeten die Implementierung nach Möglichkeit ohne WMI zu realisieren, da es anscheinden des öfters Kompatibilitätsprobleme mit dieser unter Win 7 32/64 Bit gibt.
Hast du noch eine Idee?
Merci.
Hallo,
ich versteh zwar den Einwand von WMI und Win7 nicht, aber mit GetPrinter und der PRINTER_INFO_2 Structure kriegst du auch den PortName.
Gruß,
Tom