' 打开通信端口
On Error Resume Next
MSComm1.PortOpen = True
If Err Then
MsgBox " COM2: 不可用。 更改 CommPort 属性使其使用 COM1。"
Exit Sub
End If
' 清空输入缓冲区。
MSComm1.InBufferCount = 0
' 拨电话号码。
MSComm1.Output = DialString$
' 等待从调制解调器返回"OK" 。
Do
dummy = DoEvents()
' 如果缓冲区中有数据,则把它读出来。
If MSComm1.InBufferCount Then
FromModem$ = FromModem$ + MSComm1.Input
' 检查 "OK"。
If InStr(FromModem$, "OK") Then
' 提醒用户摘电话。
Beep
MsgBox "请您摘电话然后按“回车”键或单击“确定”"
Exit Do
End If
End If
' 用户是否选择“取消”?
If CancelFlag Then
CancelFlag = False
Exit Do
End If
Loop
API:
Public Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (ByVal Dest As String, ByVal AppName As String, ByVal CalledParty As String, ByVal Comment As String) As Long
Public Sub PhoneCall(sNumber As String, sName As String)
Dim lRetVal As Long
lRetVal = tapiRequestMakeCall(Trim$(sNumber), App.Title, Trim$(sName), "")
If lRetVal <> 0 Then 'Couldn't make the call.
'Take appropriate action
End If
End Sub