投稿者 hori  (社会人) 投稿日時 2015/11/17 15:10:31
MSのサンプルの「SendBytesToPrinter」の部分を

    Public Shared Function SendBytesToPrinter(ByVal szPrinterName As String, ByVal pBytes As IntPtr, ByVal dwCount As Int32) As Boolean
        Dim hPrinter As IntPtr      ' The printer handle.
        Dim dwError As Int32        ' Last error - in case there was trouble.
        Dim di As DOCINFOW          ' Describes your document (name, port, data type).
        Dim dwWritten As Int32      ' The number of bytes written by WritePrinter().
        Dim bSuccess As Boolean     ' Your success code.

        ' Set up the DOCINFO structure.
        With di
            .pDocName = "My Visual Basic .NET RAW Document"
            .pDataType = "RAW"
        End With
        ' Assume failure unless you specifically succeed.
        bSuccess = False
        If OpenPrinter(szPrinterName, hPrinter, 0) Then
            If StartDocPrinter(hPrinter, 1, di) Then
                If StartPagePrinter(hPrinter) Then
                    ' Write your printer-specific bytes to the printer.
                    bSuccess = WritePrinter(hPrinter, pBytes, dwCount, dwWritten)
                    EndPagePrinter(hPrinter)
                End If
                EndDocPrinter(hPrinter)
            End If
            ClosePrinter(hPrinter)
        End If
        ' If you did not succeed, GetLastError may give more information
        ' about why not.
        If bSuccess = False Then
            dwError = Marshal.GetLastWin32Error()
        Else
            Msgbox("000")
        End If
        Return bSuccess
    End Function ' SendBytesToPrinter()


にして Button2 をクリックするとメッセージボックスに「000」が表示される状態です。


http://www.ne.jp/asahi/fukano/yoshio/lprintbs.html

を見つけ、同じNECのプリンターなので
これを参考にできるのではないかと思い今やっているところです。
基本を勉強しながらなので難しいですねぇ。

Dim b(128) As Byte のデータを
WritePrinter の2つ目のパラメーターの
 IntPtr型に変換する方法を探しているところですが
ご存知でしたらご教示ください。