4

質問にあるように、vbdotNetを使用してプリンターのモデル番号を見つける必要があります。

現在、EnumPrinters APIを使用してドライバー名を確認していますが、特定のプリンターは同じ名前のドライバーでサポートされているため(つまり、ドライバーは一連のプリンターをサポートしているため)、それらを区別できません。

出力を。にする必要があります<manufacturer> <model> <codes>

これはvb.net/他の言語で可能ですか?

4

1 に答える 1

2

すべてをコーディングするつもりはありませんが、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
于 2014-05-27T17:50:01.920 に答える