ManagementObjectSearcher选择网络打印机?
问题描述:
我使用:
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Printer");
获取打印机,但是找到本地打印机. 可以通过ip来选择网络打印机吗?
to get printers but it find local printers.. It's possible to select network printers , by ip maybe ?
答
将"网络"传递给ManagementObjectCollection中每个项目的对象索引器.如果打印机是网络打印机,它将返回true.同样,您可以传递"本地"来确定打印机是否在本地.
Pass "Network" to the object indexer of each item in your ManagementObjectCollection. If the printer is a network printer it will return true. Likewise you can pass "Local" to determine if the printer is 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);
}
}