问题描述
- VB检测打印机状态的函数总是返回空值?请问如何调用
-
请教各位一个小问题:Public Function GetPrnStat(ByVal LptPort As String) As Long
Dim PrnAddr As Long
On Error Resume Next
If IOStat = False Then IOStat = InitializeWinIo()
If IOStat Then
If UCase(LptPort) = "LPT1:" Then PrnAddr = &H379
Else:If UCase(LptPort) = "LPT2:" Then PrnAddr = &H279
End If
GetPortVal PrnAddr, GetPrnStat, 1
Else GetPrnStat = &HFF
End If
GetPrnStat = GetPrnStat And &HF8
Select Case GetPrnStat
Case &H68, &H58, &H70
GetPrnStat = 1 '缺纸
Case &H78
GetPrnStat = 2 '无联系
Case &HD8
GetPrnStat = 0 '正常
Case Else:
GetPrnStat = 3 '异常
End Select
End Function这个函数检测打印机状态,我如何才能获得打印机状态,如何调用这个函数,我总是得不到GetPrnStat返回的值我对VB只知皮毛,请各位赐教,谢谢 我使用下面语句,来判断打印机状态,但是始终是空值,就是装了打印机但是判断不出来,不能转入frmscl7.PrintForm 打印.请教如何解决?
If GetPrnStat() <> 0 ThenMsgBox "你的打印机没有安装或没有正常联接,请检查打印机状态后重新打印!", vbCritical, "提示"
Elsefrmscl7.PrintForm
End If