使用mscomm控件控制modem,不能打开来电显示功能,截获来电号码
Equn 2004-09-18 11:16:45 外置、内置MODEM都测过,执行AT#VCID=1或AT#CID=1都不行。能正常拔号出去及检测来电响铃。
不知为何就是不能获得来电号码。
代码如下:
Public COMBUF As String
Public Sub InitModem()
'初始化Modem链接
With MSComm1
.InBufferSize = 1024
.InputLen = 0
.InputMode = 0
.RThreshold = 1
.RTSEnable = True
.Settings = "9600,N,8,1"
.SThreshold = 0
End With
'打开调制解调器端口
If MSComm1.PortOpen Then MSComm1.PortOpen = False
MSComm1.CommPort = COMX
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
'打开来电显示功能
MSComm1.Output = "AT#VCID=1" + Chr(13)
'检查Modem命令是否完成
If CHK_MODEM() = False Then
SetStatus "打开来电显示功能失败!!"
End If
MSComm1.Output = "ATS0=0" + vbCr
end sub
Public Function CHK_MODEM() As Boolean
'检测Modem命令是否执行成功
Dim T As Single
Dim L As Integer
T = Timer
Do
COMBUF = COMBUF + MSComm1.Input
L = InStr(1, COMBUF, "OK")
Loop Until L <> 0 Or Timer - T > 2
If L = 0 Then
CHK_MODEM = False
Else
CHK_MODEM = True
End If
End Function