ManagementObjectSearcher selecione impressoras de rede?
-
16-09-2020 - |
Pergunta
Eu uso :
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer");
para obter impressoras, mas encontrar impressoras locais..É possível selecionar impressoras de rede por ip, talvez ?
Solução
Passar "Rede"para o objeto indexador de cada item na sua ManagementObjectCollection.Se a impressora for uma impressora de rede, ele irá retornar true.Da mesma forma, você pode passar "Local"para determinar se a impressora é 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow