Laden...

Druckerport eines Druckers auslesen

Erstellt von markuss21 vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.895 Views
M
markuss21 Themenstarter:in
121 Beiträge seit 2006
vor 14 Jahren
Druckerport eines Druckers auslesen

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?

R
24 Beiträge seit 2009
vor 14 Jahren

moinsen,

mit WMI geht das soweit ich weiss 😃

schau dir das mal an

WIN_32_Printer


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

M
markuss21 Themenstarter:in
121 Beiträge seit 2006
vor 14 Jahren
ohne WMI?

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.

T
433 Beiträge seit 2006
vor 14 Jahren

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