2 xlzls2008 xlzls2008 于 2014.05.04 05:30 提问

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 Then

MsgBox "你的打印机没有安装或没有正常联接,请检查打印机状态后重新打印!", vbCritical, "提示"
Else

frmscl7.PrintForm
End If

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!