当打印文档时,查看打印机,能显示出打印文件的名称,大小等,我如何取得这些信息到我的程序中?

解决方案 »

  1.   

    用api函数EnumJobs枚举系统中所有的打印队列
    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 Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hPrinter Long,一个已打开的打印机对象的句柄(用OpenPrinter获得) 
    FirstJob Long,作业列表中要枚举的第一个作业的索引(注意编号从0开始) 
    NoJobs Long,要枚举的作业数量 
    Level Long,1或2 
    pJob Byte,包含 JOB_INFO_1 或 JOB_INFO_2 结构的缓冲区 
    cbBuf Long,pJob缓冲区中的字符数量 
    pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量 
    pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数) 
      

  2.   

    http://community.csdn.net/Expert/topic/2646/2646636.xml?temp=.4243738