代码之家  ›  专栏  ›  技术社区  ›  netmajor

管理对象搜索者选择网络打印机?

  •  2
  • netmajor  · 技术社区  · 14 年前

    我使用:

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

    找到打印机,但找到本地打印机。 可以通过IP选择网络打印机吗?

    1 回复  |  直到 14 年前
        1
  •  5
  •   Michael Baker    14 年前

    通行证 网络 “指向ManagementObjectCollection中每个项的对象索引器。如果打印机是网络打印机,它将返回true。同样,你也可以通过” 局部的 “确定打印机是否为本地打印机。

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