如何实现用modem拨号时检查电话是否占线
编号:QA001841
建立日期: 1999年10月10日 最后修改日期:1999年10月10日
所属类别:
ron:
VB5
Windows98
请问如何实现用modem拨号时检查电话是否占线?
回答:
****************
Private Sub Openport()
'初始化Modem
If Not MSComm1.PortOpen Then
MSComm1.CommPort = 3
MSComm1.RThreshold = 1
MSComm1.OutBufferSize = 1024
MSComm1.InBufferSize = 1024
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
End If
End Sub
*******
Private Function Waiting(strings As String, waittime As Integer) As String
'接收Modem的返回信息
Dim Endtime As Long
Dim receivestring As String
Endtime = Timer + waittime
receivestring = ""
errorcode = 0
Do
DoEvents
If MSComm1.InBufferCount Then
receivestring = receivestring + MSComm1.Input
If InStr(1, receivestring, strings) Then
Exit Do
End If
End If
If Timer >= Endtime Or errorcode Then
errorcode = 1
Exit Do
End If
Loop
Waiting = receivestring
End Function
********* '判断本地Modem
Call Openport
MSComm1.Output = "AT" + Chr(13)
mywin = Waiting("OK", 5)
If errorcode Then
'Modem未准备好,电话占线
Endif
*********
'判断对方Modem
MSComm1.Output = "ATDT" + vbdialno + Chr(13)
wait = Waiting("CONNECT", 10)
If errorcode Then
'对方Modem未准备好,占线
Endif
此问题由mchr回答。
| |
|
|
| |
|
|