zoukankan      html  css  js  c++  java
  • VB.NET条码机打印设置纸张大小的方法

    Imports System.Drawing.Printing
    Imports System.Runtime.InteropServices

    Public Class Page
        <Runtime.InteropServices.DllImport("winspool.Drv", EntryPoint:="OpenPrinterW", _
          SetLastError:=True, CharSet:=CharSet.Unicode, _
          ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
       Public Shared Function OpenPrinter(ByVal src As String, ByRef hPrinter As IntPtr, ByVal pd As Long) As Boolean
        End Function

        <System.Runtime.InteropServices.DllImportAttribute("winspool.drv", SetLastError:=True)> _
        Public Shared Function ClosePrinter(ByVal phPrinter As IntPtr) As Integer
        End Function

        <DllImport("winspool.drv")> _
        Public Shared Function SetPrinter(ByVal hPrinter As IntPtr, ByVal level As Integer, ByVal lpBytes As IntPtr, ByVal command As Integer) As Boolean
        End Function

        Public Shared Function Setting(ByVal PageName As String) As Boolean
            Try
                Dim printerSettings As PrinterSettings
                Dim document As New PrintDocument()

                printerSettings = document.PrinterSettings

                Dim hPrinter As IntPtr
                OpenPrinter(printerSettings.PrinterName, hPrinter, 0)

                Dim p As PaperSize = Nothing
                Dim ps As PaperSize
                For Each ps In document.PrinterSettings.PaperSizes
                    If ps.PaperName.Equals(PageName) Then
                        p = ps
                    End If
                Next
                document.DefaultPageSettings.PaperSize = p

                Dim hDevMode As IntPtr = printerSettings.GetHdevmode(document.DefaultPageSettings)
                Dim ret As Boolean = SetPrinter(hPrinter, 9, hDevMode, 0)
                ClosePrinter(hPrinter)
                Return True
            Catch ex As Exception

            End Try

        End Function
    End Class

  • 相关阅读:
    64位windows 7下配置TortoiseGit(转)
    linux中fork函数详解(转)
    Socket通信的Python实现
    Socket
    浅谈CSRF攻击方式(转)
    Burpsuite常用模块详解以及渗透测试上的运用
    大佬内网渗透技巧的独白(思路篇)
    CTFcrackTools-V3
    厂商要知道的漏洞防护措施
    如何运用kali-xplico网络取证分析?点开看看吧
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/4784581.html
Copyright © 2011-2022 走看看