C# - 获取所有 USB 打印机的列表

Posted

技术标签:

【中文标题】C# - 获取所有 USB 打印机的列表【英文标题】:C# - Get List of all USB Printers 【发布时间】:2016-10-29 20:50:08 【问题描述】:

如何使用 C# 获取所有已连接 USB 打印机的列表?我需要在列表框中显示所有 USB 打印机的名称。

编辑:System.Drawing.Printing.PrinterSettings.InstalledPrinters 不能解决我的问题,我只需要 USB 打印机,不需要安装打印机。

Edit2:我的真正目标是从打印机名称中获取设备实例 ID,此处已回答:Figuring which printer name corresponds to which device ID。因此,我需要从 USB 打印机列表中获取打印机名称才能使用 GetUSBPath(string PrinterName)。

【问题讨论】:

How to get the list of all printers in computer的可能重复 试试ManagementObjectSearcher 【参考方案1】:

我在旧项目中使用了这段代码,希望对你有帮助 =)

首先你必须添加这个库:using System.Drawing.Printing;

foreach (string printers in PrinterSettings.InstalledPrinters)
        
            comboBoxName.Items.Add(printers);
        

【讨论】:

抱歉,这给了我:Microsoft XPS Document Writer(错误)、HP Deskjet 3630 series(OK - usb)、HP Deskjet 1010 series(OK - usb)、Fax(错误)。我只需要 USB 打印机。 您可以在您的控制下删除这些。该代码将为您提供所有打印机。这些是默认的:)

以上是关于C# - 获取所有 USB 打印机的列表的主要内容,如果未能解决你的问题,请参考以下文章

C# EPL USB 指令打印

C# EPL USB 指令打印

如何通过 CreateFile 获取用于原始直接打印的 USB 打印机文件名? [关闭]

获取打印机后台处理程序名称和连接类型

如何在 Windows 服务中获取所有打印机名称?

电脑如何通过usb连接打印机