← back to articles

❯ cat printer-list.md

Printer List

1 min readtr#C##WMI
using System;
using System.Management;

private void PrinterList()
{
    // USING WMI. (WINDOWS MANAGEMENT INSTRUMENTATION)
    List<string> list = new List<string>;
    System.Management.ManagementScope objMS =
        new System.Management.ManagementScope(ManagementPath.DefaultPath);
    objMS.Connect();

    SelectQuery objQuery = new SelectQuery("SELECT * FROM Win32_Printer");
    ManagementObjectSearcher objMOS = new ManagementObjectSearcher(objMS, objQuery);
    System.Management.ManagementObjectCollection objMOC = objMOS.Get();

    foreach (ManagementObject Printers in objMOC)
    {
        if (Convert.ToBoolean(Printers["Network"]))     // ALL NETWORK PRINTERS.
        {
            //cmbNetworkPrinters.Items.Add(Printers["Name"]);
            list.Add(Printers["Name"]);
        }
    }
}