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结构中的一些字段才能够被读取。这种权限由系统当前的安全设置决定
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
msgbox "未安装打印机"
end if
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结构中的一些字段才能够被读取。这种权限由系统当前的安全设置决定
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
不过监测到的不是打印机而是打印机驱动个数