当前位置: 首页 > 编程语言 > C#

如何获得我的系统中未安装的网络打印机?分享

时间:2023-04-10 22:32:31 C#

如何删除我的系统中未安装的网络打印机?我想搜索网络中有多少台打印机。我已经检查了Installedprinter属性,它为我提供了系统上安装的那些打印机的列表。我的网络上有超过2台打印机,但只有其中一台出现在列表中,因为它安装在我的系统上。我如何从网络中获取驱动程序未安装或未连接到我的系统的所有打印机的列表。我知道这篇文章很旧,但我一直在为同样的问题而苦苦挣扎。我终于设法解决了它,我希望下面的代码可以帮助别人:using(vards=newDirectorySearcher()){ds.SearchRoot=newDirectoryEntry("");ds.Filter="(|(&(objectCategory=printQueue)(name=*)))";ds.PropertiesToLoad.Add("打印机名称");ds.PropertiesToLoad.Add("端口名");ds.PropertiesToLoad.Add("服务器名");ds.PropertiesToLoad.Add("cn");ds.PropertiesToLoad.Add("名称");ds.PropertiesToLoad.Add("printsharename");ds.ReferralChasing=ReferralChasingOption.None;ds.Sort=newSortOption("name",SortDirection.Descending);using(varsrc=ds.FindAll()){foreach(SearchResultsrinsrc){Console.WriteLine("------------------------------------");Console.WriteLine(sr.GetDirectoryEntry().Name);foreach(DictionaryEntrypinsr.Properties){varpropName=p.Key;varpropCollection=(ResultPropertyValueCollection)p.Value;varpropValue=propCollection.Count>0?propCollection[0]:“”;控制台.WriteLine(propName);控制台.WriteLine(propValue);}Console.WriteLine("------------------------------------");}}}如果您想返回所有属性以查看可用的属性,您可以简单地注释掉ds.PropertiesToLoad行,这将为您提供完整列表试试这个。以上是C#学习教程:如何获取我的系统中未安装的网络打印机?如果有用,请分享全部内容给大家,需要了解更多C#学习教程,希望大家多多关注—("SELECT*FROMWin32_Printer");ManagementObjectSearcherobjMOS=newManagementObjectSearcher(objMS,objQuery);System.Management.ManagementObjectCollectionobjMOC=objMOS.Get();foreach(objMOC中的ManagementObject打印机){if(Convert.ToBoolean(Printers["Local"]))//本地打印机。{cmbLocalPrinters.Items.Add(Printers["Name"]);}if(Convert.ToBoolean(Printers["Network"]))//所有网络打印机。{cmbNetworkPrinters.Items.Add(打印机[“名称”]);}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: