Вопрос

Я использую:

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

Чтобы получить принтеры, но он находит локальные принтеры. Можно выбрать сетевые принтеры, может быть, по IP?

Это было полезно?

Решение

pass " NETWORK « Индексатор объекта каждого элемента в вашей ManagementObjectCollection.Если принтер представляет собой сетевой принтер, он вернется true.Точно так же вы можете пройти « 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);
    }
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top