'判断是否有打印机Const PRINTER_ENUM_CONNECTIONS = &H4 Const PRINTER_ENUM_LOCAL = &H2 Public Declare Function EnumPrinters Lib "winspool.drv" Alias _ "EnumPrintersA" (ByVal Flags As Long, ByVal name As String, _ ByVal Level As Long, pPrinterEnum As Long, ByVal cdBuf As Long, _ pcbNeeded As Long, pcReturned As Long) As LongPublic Function IsPrinterValid() As Boolean Dim Success As Boolean, cbRequired As Long, cbBuffer As Long Dim Buffer() As Long, nEntries As Long cbBuffer = 3072 ReDim Buffer((cbBuffer \ 4) - 1) As Long Success = EnumPrinters(PRINTER_ENUM_CONNECTIONS Or _ PRINTER_ENUM_LOCAL, _ vbNullString, _ 1, _ Buffer(0), _ cbBuffer, _ cbRequired, _ nEntries) If nEntries <> 0 Then IsPrinterValid = True Else IsPrinterValid = False End If End Function
可以用它的printer对象的属性来获得机器安装了多少台打印机。
有没有人知道,如果我的打印机(包括网络和本地两种情况)power off 了,怎么侦测?msn:[email protected],在线等待
Private Function CheckPrint() As Boolean '函数名称:CheckPrint '功 能:检测是否安装了打印机 Dim X As Printer For Each X In Printers If X.Orientation = vbPRORPortrait Then CheckPrint = True Else CheckPrint = False End If Next End Function
还加一条语句:Private Function CheckPrint() As Boolean '函数名称:CheckPrint '功 能:检测是否安装了打印机 Dim X As Printer For Each X In Printers If X.Orientation = vbPRORPortrait Then CheckPrint = True exit sub Else CheckPrint = False End If Next End Function
Const PRINTER_ENUM_LOCAL = &H2
Public Declare Function EnumPrinters Lib "winspool.drv" Alias _
"EnumPrintersA" (ByVal Flags As Long, ByVal name As String, _
ByVal Level As Long, pPrinterEnum As Long, ByVal cdBuf As Long, _
pcbNeeded As Long, pcReturned As Long) As LongPublic Function IsPrinterValid() As Boolean
Dim Success As Boolean, cbRequired As Long, cbBuffer As Long
Dim Buffer() As Long, nEntries As Long
cbBuffer = 3072
ReDim Buffer((cbBuffer \ 4) - 1) As Long
Success = EnumPrinters(PRINTER_ENUM_CONNECTIONS Or _
PRINTER_ENUM_LOCAL, _
vbNullString, _
1, _
Buffer(0), _
cbBuffer, _
cbRequired, _
nEntries)
If nEntries <> 0 Then
IsPrinterValid = True
Else
IsPrinterValid = False
End If
End Function
'函数名称:CheckPrint
'功 能:检测是否安装了打印机
Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
CheckPrint = True
Else
CheckPrint = False
End If
Next
End Function
'函数名称:CheckPrint
'功 能:检测是否安装了打印机
Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
CheckPrint = True
exit sub
Else
CheckPrint = False
End If
Next
End Function