当前位置:编程学习 > VB >>

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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,