回答
试试这个:
foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
{
MessageBox.Show(printer);
}
看看静态System.Drawing.Printing.PrinterSettings.InstalledPrinters属性。
这是系统中所有已安装打印机的名称列表。
应用
private void GetAllPrinterList() { ManagementScope objScope = new ManagementScope(ManagementPath.DefaultPath); //For the local Access objScope.Connect(); SelectQuery selectQuery = new SelectQuery(); selectQuery.QueryString = "Select * from win32_Printer"; ManagementObjectSearcher MOS = new ManagementObjectSearcher(objScope, selectQuery); ManagementObjectCollection MOC = MOS.Get(); foreach (ManagementObject mo in MOC) { lstPrinterList.Items.Add(mo["Name"].ToString()); } }
Click here to download source and application demo
演示感谢您对MSDN链接! – paulsm4 2015-07-19 03:15:02
如果你需要比打印机的只是名称的详细信息,您可以使用System.Management
API来对它们进行查询:http://www.snippetsource.net/Snippet/96/list-all-installed-printers
var printerQuery = new ManagementObjectSearcher("SELECT * from Win32_Printer");
foreach (var printer in printerQuery.Get())
{
var name = printer.GetPropertyValue("Name");
var status = printer.GetPropertyValue("Status");
var isDefault = printer.GetPropertyValue("Default");
var isNetworkPrinter = printer.GetPropertyValue("Network");
Console.WriteLine("{0} (Status: {1}, Default: {2}, Network: {3}",
name, status, isDefault, isNetworkPrinter);
}
例
在ASP.NET中获取网络和本地打印机列表
此方法使用Windows Management Instrumentation或WMI接口。这是一种用于获取有关Windows操作系统上运行的各种系统(硬件)信息的技术。其中列举的网络和本地打印机
是你的ASP.NET演示吗? – AaA 2017-12-22 09:47:31
public List<string> InstalledPrinters
{
get
{
return (from PrintQueue printer in new LocalPrintServer().GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local,
EnumeratedPrintQueueTypes.Connections }).ToList()
select printer.Name).ToList();
}
}
你可以添加一个解释来跟随代码吗? – jhpratt 2017-11-25 00:50:01
- 1. 从林中的所有计算机获取所有计算机LastLogon
- 2. 如何获取不直接打印的打印机列表?
- 3. 获取网络打印机列表silverlight
- 4. 如何在打印机向导中获得所有可用打印机驱动程序的列表?
- 5. 如何在windows服务中获取所有打印机名称?
- 6. 如何获取java中的打印机列表?
- 7. Powershell:无法从远程计算机获取网络打印机列表并在新计算机上安装这些打印机
- 8. 如何获取连接到网络的所有计算机列表?
- 9. 如何获取本地计算机上所有MS SQL Server实例的列表?
- 10. 如何获取计算机上的所有媒体文件
- 11. 如何获取已安装打印机的列表?
- 12. 获取所有计算机的列表,并且如果它登录到AD
- 13. 获取本地打印机列表来更改打印机IP和默认打印机
- 14. 如何获得C#中的所有网络打印机#
- 15. 如何获得asp.net 4.0中的所有网络打印机
- 16. 获取本地计算机的DNS名称,如远程计算机所示
- 17. 如何获取本地网络计算机的列表?
- 18. 如何获取打印机状态?
- 19. 如何获取打印机MIB命令
- 20. 从打印机内存中获取作业列表队列
- 21. 从网络中的计算机获取计算机描述
- 22. 获取列表中每台计算机的序列号(Powershell)
- 23. 获取Java打印机GraphicsDevice
- 24. 如何通过C#.Net获取所有计算机硬件的序列号?
- 25. 如何列出所有可用的打印机驱动程序,如C#中的添加打印机向导?
- 26. 如何在VB.Net中获取外部计算机的计算机名称?
- 27. 从电子表格中获取打印机IP和打印机名称
- 28. PHP获取所有打印机名称列表连接到系统
- 29. 使用Scala获取计算机上所有目录的列表和所有文件的列表。
- 30. Pipsta打印机和打印列表
也适用于WPF,不错! – kjhf 2017-01-25 17:33:30