I have used EnumPrinters API and checked the driver name, but the same name The driver supports certain printers (i.e. the driver supports a range of printers), which prevents me from distinguishing them.
I need to output as This may be related to vb.net/any other languages
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)< br /> Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(query)
Dim collection As ManagementObjectCollection = searcher.Get()
For Each printer As ManagementObj ect 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
As mentioned in the question, I need Use vb dotNet to find the printer model.
Currently, EnumPrinters API has been used and the driver name is checked, but the same named driver supports some printers (that is, the driver supports a series of printers), which makes I can't distinguish them.
I need to output as This may be related to vb.net/any other languages
I don’t plan to write all the code for you, but please check the DriverName property. Run the whole process in debug mode to see the other properties available to you. You need to add a pair of System.Drawing and Reference to 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}'", printerNam e)
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< br /> Next
End Sub
End Module