如何在 vb .net 中获取任何已连接打印机的型号



正如问题所述,我需要使用 vb dotNet 找到打印机的型号。

目前一直在使用 EnumPrinters API 并检查驱动程序名称,但是同一命名的驱动程序支持某些打印机(即驱动程序支持一系列打印机(,这不允许我区分它们。

我需要输出<manufacturer> <model> <codes>.

这在其他语言中可能 vb.net/any 吗

不打算为你编写整个代码,但请查看 DriverName 属性。 在调试模式下运行整个操作以查看其他可用的属性。 您需要添加对 System.Drawing 和 System.Management 的引用。

Imports System.Drawing.Printing
Imports System.Management

Module Module1
    Sub Main()
        Dim printers = PrinterSettings.InstalledPrinters
        For Each printerName As String In printers
            Dim query As String = String.Format("SELECT * from Win32_Printer WHERE Name LIKE '%{0}'", printerName)
            Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(query)
            Dim collection As ManagementObjectCollection = searcher.Get()
            For Each printer As ManagementObject In collection
                For Each propData As PropertyData In printer.Properties
                    Debug.WriteLine(String.Format("{0}: {1}", propData.Name, propData.Value))
                Next
            Next
        Next
    End Sub
End Module

最新更新