高手
我想通过EnumJobs 来获取打印机当前的打印任务数
result = OpenPrinter(printername, PrinterHandle, pd)
result=EnumJobs(PrinterHandle, 0, 127, 1, job(0), 0, jobByteNum, GetJobsNum)
GetJobsNum 返回 怎么老是0
不知道这样调用,是否有错误, 请指点
我想通过EnumJobs 来获取打印机当前的打印任务数
result = OpenPrinter(printername, PrinterHandle, pd)
result=EnumJobs(PrinterHandle, 0, 127, 1, job(0), 0, jobByteNum, GetJobsNum)
GetJobsNum 返回 怎么老是0
不知道这样调用,是否有错误, 请指点
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Private Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Private Sub Form_Load()
'KPD-Team 2001
'URL: http://www.allapi.net/
'E-Mail: [email protected]
Dim hPrinter As Long, lNeeded As Long, lReturned As Long
Dim lJobCount As Long
OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
If lNeeded > 0 Then
ReDim byteJobsBuffer(lNeeded - 1) As Byte
EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned
If lReturned > 0 Then
lJobCount = lReturned
Else
lJobCount = 0
End If
Else
lJobCount = 0
End If
ClosePrinter hPrinter
MsgBox "Jobs in printer queue: " + CStr(lJobCount), vbInformation
End Sub
EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
中语参数:ByVal 0&, 是表示什么意思呢