兄弟们帮帮忙,我想写一个程序,控制无人值守时打印的,就是不知道怎么通过vb使打印机暂停和恢复?!

解决方案 »

  1.   

    http://search.csdn.net/Expert/topic/1002/1002970.xml?temp=.9255945
      

  2.   


    用API(SetPrinter)!!!!SetPrinter VB声明 
    Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal Command As Long) As Long 
    说明 
    对一台打印机的状态进行控制 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hPrinter Long,指定一个已打开的打印机的句柄(用OpenPrinter取得) 
    Level Long,0,2或3(4或5用于windows95,5或6用于NT 4.0)。如Command不是零,则这个参数必须是零 
    pPrinter Byte,包含一个PRINTER_INFO_x的结构的缓冲区,其中的x代表级别的设定(Level)。假如级别为零,并且Command设为PRINTER_CONTROL_SET_STATUS,那缓冲区就包含了一个PRINTER_CONTROL_STATUS结构。否则,如级别为零,就设为NULL(要把声明变成ByVal As Long,以便传递零值) 
    Command Long,下述值之一:                    
    零 根据PRINTER_INFO_x结构改变打印机 
    PRINTER_CONTROL_PAUSE 暂停打印机 
    PRINTER_CONTROL_PURGE 删除打印机的所有作业 
    PRINTER_CONTROL_RESUME 恢复一台暂停的打印机 
    PRINTER_CONTROL_SET_STATUS  载入打印机的PRINTER_CONTROL_STATUS结构(不可在NT 3.51下使用) 
    注解 
    在PRINTER_INFO_2结构的基础上设置打印机状态时,pServerName,AveragePPM,Status和cJobs字段都会被忽略
     
      

  3.   

    Thanks cindytsai(笨笨的蔡鸟) and  creazyfish(梳分头的鱼)!
    Happy new year!