如何用vb代码检测打印机是否安装?

解决方案 »

  1.   

    if printers.count=0 then
        msgbox "未安装打印机"
    end if
      

  2.   

    GetPrinter VB声明 
    Declare Function GetPrinter Lib "winspool.drv" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long) As Long 
    说明 
    取得与指定打印机有关的信息 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得) 
    Level Long,1,2,3(仅适用于NT),4(仅适用于NT),或者5(仅适用于Windows 95 和 NT 4.0) 
    pPrinter Any,包含PRINTER_INFO_x结构的缓冲区。x代表级别 
    cbBuf Long,pPrinterEnum缓冲区中的字符数量 
    pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量 
    注解 
    只有在发出调用的应用程序有足够的权限时,PRINTER_INFO_x结构中的一些字段才能够被读取。这种权限由系统当前的安全设置决定
     
      

  3.   


    Private Sub Form_Load()
        
        Dim X As Printer
        
        
        chkPrn = True
        If Printers.Count < 1 Then
            MsgBox "筿福礚杆诀 ,叫杆刚 !!!"
            chkPrn = False
            Exit Sub
        End If
        For Each X In Printers
            CboPRN.AddItem X.DeviceName
        Next X
        
    End Sub
      

  4.   

    判断printer.count
    不过监测到的不是打印机而是打印机驱动个数