正如问题所述,我需要使用vb dotNet找到打印机的型号。
目前一直在使用EnumPrinters API并检查驱动程序名称,但是同一命名驱动程序支持某些打印机(即驱动程序支持一系列打印机),这使我无法区分它们。
我需要输出为<manufacturer> <model> <codes>
。
这可能与vb.net /其他语言
有关答案 0 :(得分:1)
不会为您编写整个代码,但请查看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