Pregunta

Yo uso:

ManagementObjectSearcher searcher = new 
    ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer"); 

para obtener impresoras pero encuentra impresoras locales .. Es posible seleccionar impresoras de red, por IP Tal vez?

¿Fue útil?

Solución

Pase " red " al índice de objetos de cada elemento en su administración de administración.Si la impresora es una impresora de red, devolverá VERDADERO.Asimismo, puede pasar " local " para determinar si la impresora es local.

var searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer");
var results = searcher.Get();

IList<ManagementBaseObject> printers = new List<ManagementBaseObject>();

foreach (var printer in results) {
    if ((bool)printer["Network"]) {
        printers.Add(printer);
    }
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top