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

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

目前已经使用EnumPrinters API并检查驱动程序名称,但是同一命名驱动程序支持某些打印机(即驱动程序支持一系列打印机),这使我无法区分它们.

我需要输出为< manufacturer> <模型> <码取代.

这可能与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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...