Question

J'utilise:

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

Pour obtenir des imprimantes, mais il trouve des imprimantes locales .. Il est possible de sélectionner des imprimantes réseau, par IP peut-être?

Était-ce utile?

La solution

Pass " réseau " à l'indexeur d'objet de chaque élément de votre gestionObjectCollection.Si l'imprimante est une imprimante réseau, elle retournera true.De même, vous pouvez passer " local " pour déterminer si l'imprimante est locale.

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);
    }
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top