亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? apiprinter.cls

?? 1500個WINDOWS API類全集,包括了主要的API調用接口
?? CLS
?? 第 1 頁 / 共 2 頁
字號:


Public Property Get DefaultPriority() As Long

Call RefreshPrinterInfo(2)
DefaultPriority = mPRINTER_INFO_2.DefaultPriority

End Property

Public Property Get Description() As String

Call RefreshPrinterInfo(1)
Description = mPRINTER_INFO_1.pDescription

End Property


Public Property Get DeviceContext() As ApiDeviceContext

Dim hPrinterDC As Long
Dim DCPrinter As New ApiDeviceContext

hPrinterDC = CreateDCByLong("WINSPOOL", Me.DeviceName, vbNullString, vbNull)
If Err.LastDllError Then
    ReportError Err.LastDllError, "ApiPrinter:DeviceContext", GetLastSystemError
End If

Set DeviceContext = DCPrinter

End Property

Public Property Get DeviceName() As String

Call RefreshPrinterInfo(1)
DeviceName = mPRINTER_INFO_1.pName

End Property

Public Property Let DeviceName(ByVal newname As String)

Dim lret As Long
Dim pDef As PRINTER_DEFAULTS

If mhPrinter = 0 Then
    '\\ Need to get the printer handle for the printer device named
    lret = OpenPrinter(newname, mhPrinter, pDef)
End If

End Property

Public Property Get Direct() As Boolean

Direct = Attributes And PRINTER_ATTRIBUTE_DIRECT

End Property

Public Property Get DriverName() As String

Call RefreshPrinterInfo(2)
DriverName = mPRINTER_INFO_2.pDriverName

End Property

Public Property Get Location() As String

Call RefreshPrinterInfo(2)
Location = mPRINTER_INFO_2.pLocation

End Property

Public Property Get Parameters() As String

Call RefreshPrinterInfo(2)
Parameters = mPRINTER_INFO_2.pParameters

End Property

Public Property Get PendingJobsCount() As Long

Call RefreshPrinterInfo(2)
PendingJobsCount = mPRINTER_INFO_2.JobsCount

End Property

Public Property Get PortName() As String

Call RefreshPrinterInfo(2)
PortName = mPRINTER_INFO_2.pPortName

End Property

Friend Property Let PrinterHandle(ByVal newhandle As Long)

If newhandle <> mhPrinter Then
    mhPrinter = newhandle
End If

End Property


Public Property Get PrintJobs() As Collection

Dim colThis As Collection
Dim oPrintJob As ApiPrintJob

Dim lret As Long
Dim pcbSizeRequired As Long, pcbBytesReturned As Long
Dim pJobId As Long

Dim buffer() As Long

'\\ Initialise the collection of print job objects
Set colThis = New Collection

ReDim Preserve buffer(0) As Long

lret = EnumJobs(mhPrinter, 0, 255, 1, buffer(0), UBound(buffer), pcbSizeRequired, pcbBytesReturned)

If pcbSizeRequired > 0 Then
    
    '\\ Need to resize our array to cope with this data
    ReDim Preserve buffer(0 To (pcbSizeRequired / 4) + 3) As Long
    lret = EnumJobs(mhPrinter, 0, 255, 1, buffer(0), UBound(buffer) * 4, pcbSizeRequired, pcbBytesReturned)
    
    '\\ Note any error if this has failed
    If Err.LastDllError <> 0 Then
        Call ReportError(Err.LastDllError, "ApiPrinter:PrintJobs", GetLastSystemError)
    End If
    
    '\\ At this stage buffer() contains an array of JOB_INFO_1 structures
    '\\ For each job...
    For pJobId = 0 To (pcbBytesReturned - 1) 'each record is 16 bytes long
        Set oPrintJob = New ApiPrintJob
        With oPrintJob
            .PrinterHandle = mhPrinter
            .JobId = buffer(pJobId * 16)
        End With
        colThis.Add oPrintJob
    Next pJobId
    
End If

'\\ pass the collection to the caller
Set PrintJobs = colThis

End Property

Public Property Get PrintProcessor() As String

Call RefreshPrinterInfo(2)
PrintProcessor = mPRINTER_INFO_2.pPrintProcessor

End Property

Public Property Get Priority() As Long

Call RefreshPrinterInfo(2)
Priority = mPRINTER_INFO_2.Priority

End Property

Public Property Get Queued() As Boolean

Queued = Attributes And PRINTER_ATTRIBUTE_QUEUED

End Property


Private Sub RefreshPrinterInfo(ByVal index As Integer)

Dim lret As Long
Dim SizeNeeded As Long

Dim buffer() As Long

ReDim Preserve buffer(0 To 1) As Long
lret = GetPrinterApi(mhPrinter, index, buffer(0), UBound(buffer), SizeNeeded)
ReDim Preserve buffer(0 To (SizeNeeded / 4) + 3) As Long
lret = GetPrinterApi(mhPrinter, index, buffer(0), UBound(buffer) * 4, SizeNeeded)


If index < 1 Or index > 9 Then
    Debug.Print "Error in call to ApiPrinter.RefreshPrinterInfo - invalid index"
Else
    Select Case index
    Case 1
        With mPRINTER_INFO_1
            .flags = buffer(0)
            .pDescription = StringFromPointer(buffer(1), 1024)
            .pName = StringFromPointer(buffer(2), 1024)
            .pComment = StringFromPointer(buffer(3), 1024)
        End With
    Case 2
        With mPRINTER_INFO_2
            .pServerName = StringFromPointer(buffer(0), 1024)
            .pPrinterName = StringFromPointer(buffer(1), 1024)
            .pShareName = StringFromPointer(buffer(2), 1024)
            .pPortName = StringFromPointer(buffer(3), 1024)
            .pDriverName = StringFromPointer(buffer(4), 1024)
            .pComment = StringFromPointer(buffer(5), 1024)
            .pLocation = StringFromPointer(buffer(6), 1024)
            .pDevMode = buffer(7)
            .pSepFile = StringFromPointer(buffer(8), 1024)
            .pPrintProcessor = StringFromPointer(buffer(9), 1024)
            .pDatatype = StringFromPointer(buffer(10), 1024)
            .pParameters = StringFromPointer(buffer(11), 1024)
            .pSecurityDescriptor = buffer(12)
            .Attributes = buffer(13)
            .Priority = buffer(14)
            .DefaultPriority = buffer(15)
            .StartTime = buffer(16)
            .UntilTime = buffer(17)
            .Status = buffer(18)
            .JobsCount = buffer(19)
            .AveragePPM = buffer(20)
        End With
    Case 3
        With mPRINTER_INFO_3
            .pSecurityDescriptor = buffer(0)
        End With
    Case 4
        With mPRINTER_INFO_4
            .pPrinterName = StringFromPointer(buffer(0), 1024)
            .pServerName = StringFromPointer(buffer(1), 1024)
            .Attributes = buffer(2)
        End With
    Case 5
        With mPRINTER_INFO_5
            .pPrinterName = StringFromPointer(buffer(0), 1024)
            .pPortName = StringFromPointer(buffer(1), 1024)
            .Attributes = buffer(2)
            .DeviceNotSelectedTimeout = buffer(3)
            .TransmissionRetryTimeout = buffer(4)
        End With
    Case 6
        With mPRINTER_INFO_6
            .dwStatus = buffer(0)
        End With
    Case 7
        With mPRINTER_INFO_7
            .pszObjectGUID = StringFromPointer(buffer(0), 1024)
            .dwAction = buffer(1)
        End With
    Case 8
        With mPRINTER_INFO_8
            .pDevMode = buffer(0)
        End With
    Case 9
        '\\ Currently this structure is the same as 8...
        With mPRINTER_INFO_9
            .pDevMode = buffer(0)
        End With
    End Select
    If Err.LastDllError <> 0 Then
        ReportError Err.LastDllError, "ApiPrinter:RefreshPrinterInfo", GetLastSystemError
    End If
End If

End Sub

Public Property Get SeparatorFile() As String

Call RefreshPrinterInfo(2)
SeparatorFile = mPRINTER_INFO_2.pSepFile

End Property

Public Property Get ServerName() As String

Call RefreshPrinterInfo(4)
ServerName = mPRINTER_INFO_4.pServerName

End Property


Public Property Get ShareName() As String

   Call RefreshPrinterInfo(2)
   ShareName = mPRINTER_INFO_2.pShareName

End Property


'\\ --[Status]---------------------------------------------------------------------------------
'\\ Returns the status of the selected printer when it is called.
'\\ -------------------------------------------------------------------------------------------
Public Property Get Status() As Printer_Status

    Call RefreshPrinterInfo(2)
    Status = mPRINTER_INFO_2.Status

End Property


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜诱惑制服诱惑色一区在线观看 | 91麻豆精东视频| 激情都市一区二区| 美女www一区二区| 日韩中文字幕一区二区三区| 亚洲在线成人精品| 亚洲一区欧美一区| 亚洲综合免费观看高清完整版 | 国产亚洲欧美一区在线观看| 日韩欧美国产一二三区| 在线播放中文一区| 日韩小视频在线观看专区| 欧美一区三区二区| 日韩精品一区二区三区视频播放| 91精品国产麻豆| 精品久久久久久久久久久久包黑料| 欧美一区二区观看视频| 欧美一区二区三区不卡| 91精品在线麻豆| 日韩欧美国产综合一区| 精品国产乱码久久久久久牛牛| 日韩美女一区二区三区四区| 精品国产乱码久久久久久影片| 精品国产免费一区二区三区香蕉| 久久久久久久久久久久久久久99| 久久久一区二区三区捆绑**| 国产精品护士白丝一区av| 亚洲欧美综合网| 一区二区三区不卡视频在线观看 | 欧美在线一区二区三区| 欧美日韩国产成人在线91| 欧美一区二区三区四区高清| 欧美变态凌虐bdsm| 国产精品国产三级国产普通话三级 | 亚洲va天堂va国产va久| 另类中文字幕网| 成人三级在线视频| 欧美日韩aaaaaa| 久久久久久久久久看片| 亚洲主播在线播放| 另类人妖一区二区av| 大胆欧美人体老妇| 欧美日韩黄色一区二区| 国产日韩欧美综合在线| 亚洲成人动漫精品| 高清国产一区二区三区| 欧美性淫爽ww久久久久无| 久久蜜桃av一区精品变态类天堂| 亚洲美女在线国产| 国产一区二三区好的| 日本福利一区二区| 久久久久久久精| 亚洲午夜成aⅴ人片| 国产成人av资源| 在线播放日韩导航| 亚洲伦理在线精品| 国产乱一区二区| 欧美精品亚洲一区二区在线播放| 欧美激情中文字幕| 麻豆精品精品国产自在97香蕉| 色婷婷久久综合| 国产蜜臀av在线一区二区三区| 丝袜a∨在线一区二区三区不卡| 不卡的av中国片| 久久综合国产精品| 美女性感视频久久| 欧美日韩国产电影| 亚洲3atv精品一区二区三区| 99久久综合国产精品| 久久色成人在线| 麻豆91在线播放| 欧美一区二区三区不卡| 视频一区视频二区中文| 欧洲国内综合视频| 亚洲与欧洲av电影| 欧美在线免费观看亚洲| 亚洲视频每日更新| 99re8在线精品视频免费播放| 国产无人区一区二区三区| 狠狠色丁香婷婷综合| 日韩免费观看2025年上映的电影| 日韩电影一区二区三区四区| 欧美日韩一区二区三区视频| 亚洲一本大道在线| 欧美精选午夜久久久乱码6080| 亚洲永久免费视频| 欧美日韩一级二级三级| 香蕉av福利精品导航| 欧美一区二区网站| 寂寞少妇一区二区三区| 国产欧美精品一区| 99国产精品视频免费观看| 亚洲欧美电影一区二区| 在线观看一区二区视频| 亚洲v精品v日韩v欧美v专区| 欧美一区二区视频在线观看| 麻豆精品一二三| 久久久久久综合| av网站免费线看精品| 亚洲男帅同性gay1069| 欧美三级日韩在线| 蜜臂av日日欢夜夜爽一区| 精品裸体舞一区二区三区| 国产成人av在线影院| 樱桃视频在线观看一区| 欧美精品久久天天躁| 精品在线观看视频| 亚洲色图另类专区| 91精品国产综合久久香蕉麻豆| 精品无码三级在线观看视频 | 高清不卡一区二区| 亚洲一区二区综合| 欧美变态凌虐bdsm| 色综合天天性综合| 免费不卡在线观看| 国产精品久线观看视频| 欧美日本韩国一区二区三区视频 | 久久狠狠亚洲综合| 国产女人18水真多18精品一级做 | 夜夜操天天操亚洲| 久久久久久久久久久电影| 色欲综合视频天天天| 麻豆国产91在线播放| 亚洲欧洲日产国码二区| 精品少妇一区二区三区免费观看 | 最新日韩在线视频| 日韩欧美一级片| 91色在线porny| 精品在线视频一区| 午夜精品在线视频一区| 国产精品久久久久四虎| 日韩手机在线导航| 欧美日韩精品欧美日韩精品一| 国产精品一区一区三区| 日韩国产精品大片| 亚洲一区影音先锋| 亚洲欧洲av在线| 久久久久亚洲蜜桃| 欧美一卡二卡在线| 欧美伊人精品成人久久综合97| 国产成人av一区二区三区在线观看| 午夜一区二区三区视频| 亚洲男同1069视频| 国产精品久久久久毛片软件| 欧美精品一区二区高清在线观看| 欧美午夜宅男影院| 一本色道久久综合亚洲91| 成人免费视频网站在线观看| 久久精品国产77777蜜臀| 午夜精品123| 亚洲高清免费观看| 亚洲制服丝袜av| 亚洲制服丝袜av| 亚洲国产精品综合小说图片区| 国产精品久久久久久一区二区三区| 久久久久亚洲蜜桃| 久久久久久久免费视频了| 26uuu亚洲| 久久尤物电影视频在线观看| 精品乱人伦小说| 久久午夜羞羞影院免费观看| 欧美变态tickling挠脚心| 日韩精品一区二区三区视频在线观看| 欧美伦理电影网| 91精品国产一区二区三区香蕉| 欧美三级午夜理伦三级中视频| 欧美性色aⅴ视频一区日韩精品| 91国产视频在线观看| 欧美曰成人黄网| 欧美丰满少妇xxxbbb| 欧美一区二区三区思思人| 日韩免费高清av| 久久久高清一区二区三区| 国产精品久久久久aaaa樱花| 136国产福利精品导航| 一区二区三区不卡视频| 婷婷六月综合网| 日本不卡一区二区三区高清视频| 蜜臀精品久久久久久蜜臀| 国产精品自拍毛片| 97se亚洲国产综合自在线不卡| 色天天综合色天天久久| 这里只有精品99re| 久久综合久久99| 亚洲人妖av一区二区| 午夜精品久久久久久久蜜桃app| 美女网站色91| 成人免费看片app下载| 在线观看91视频| 26uuu成人网一区二区三区| 国产精品私房写真福利视频| 亚洲国产中文字幕在线视频综合| 麻豆91在线观看| 色综合av在线| 久久婷婷成人综合色| 亚洲一区中文在线| 国产精品影视网| 欧美久久久久久久久| 中文字幕av免费专区久久| 午夜精品福利一区二区蜜股av |