我使用:

ManagementObjectSearcher searcher = new 
    ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer"); 
. 要获取打印机,但它找到本地打印机.. 通过IP,可以选择网络打印机?

有帮助吗?

解决方案

将“ network ”到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);
    }
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top