正如问题所述,我需要使用 vb dotNet 找到打印机的型号。
目前一直在使用 EnumPrinters API 并检查驱动程序名称,但是某些打印机由同名驱动程序支持(即驱动程序支持一系列打印机),这不允许我区分它们。
我需要输出为 <manufacturer> <model> <codes>
.
这可以用 vb.net/任何其他语言吗
最佳答案
不会为您编写整个代码,而是查看 DriverName 属性。在 Debug模式下运行整个过程以查看其他可用的属性。您需要添加对 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
关于vb.net - 如何在 vb .net 中获取任何已连接打印机的型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678996/