EnumJobs返回的任务个数为0??
以下代码,在WIN7系统下能够正常使用,但是在XP系统下就无易做图常捕捉到本地打印机的队列中的任务了,请高手分析:sPrintName1是本地打印机的名字,即插在本地电脑上的打印机。
lngResult = OpenPrinter(sPrintName1, hPrinter, pDefault)
' Call PrinterProperties(hwnd, hPrinter)
lngResult = EnumJobs(hPrinter, 0, 127, 1, ByVal 0&, 0, lngJobsNeeded, lngJobsReturned)
If lngJobsNeeded > 0 Then
ReDim byteJobsBuffer(lngJobsNeeded - 1)
lngResult = EnumJobs(hPrinter, 0, 127, 1, byteJobsBuffer(0), lngJobsNeeded, lngJobsNeeded, lngJobsReturned)
If lngJobsReturned > 0 Then
lngjobscount = lngJobsReturned
Else
' number of jobs returned = 0 (no jobs)
lngjobscount = 0
End If
End If
同样的打印机,同样的代码在win7系统下就能捕捉到lngJobsReturned大于0,而在XP系统下则为0,无论打印多少东西都是0.
补充:VB , 基础类