怎样判断对方电话是否已摘机?

ZLUKE 2000-04-26 09:31:00
我正在作一个通过MODEM呼叫电话的程序,当对方摘机后向对方送一段语音。
可是我不知道怎样判断对方的电话是否已经摘机。
在'问专家'网站上有一个同样的问题,答复是判读MODEM的CD状态是否为TRUE,但我查了资料并且作了实验,发现CD状态是在MODEM与远端MODEM连接成功后置位,而不是与电话连接。我将所有的MODEM状态查了一遍,也没找到我需要的。
(BTW:我是用VB6的MSCOMM控件作的。)

请高手指点,谢谢!!!
...全文
219 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZLUKE 2000-04-28
  • 打赏
  • 举报
回复
谢谢你的答复!

我试过你说的方法,用的是MSCOMM.Input来接收返回的信息. 但是拨号完后返回
OK
ATDT62304604;
之后返回信息就一直为空(即Mscomm.InBufferCount始终为0,Mscomm.Input始终为"")!

程序是这样写的:
MSComm1.Output = "AT&C1" & vbCr
DialString$ = "ATDT62304604;" + vbCr
MSComm1.Output = DialString$
Do
DoEvents
If MSComm1.InBufferCount > 0 Then
FromModem$ = FromModem$ & MSComm1.Input

If InStr(FromModem$, "CONNECT") > 0 Then
MsgBox "Connected..."
Exit Do
End If
If InStr(FromModem$, "BUSY") > 0 Then
MsgBox "Busy..."
Exit Do
End If
End If
If CancelFlag Then
CancelFlag = False
Exit Do
End If
Loop
MSComm1.Output = "ATH" + vbCr

你看看有没有什么问题? 谢谢了!
Un1 2000-04-27
  • 打赏
  • 举报
回复
向Modem 写完 "ATDT" & TelNumber 后未超时之前,Modem可能有以下几种反应:

vbCrLf & "CONNECT..'表示对方摘机

vbCrLf & "BUSY" '对方占线

vbCrLf & "NO DIAL..'没有拨号音

vbCrLf & "NO ANS.. '无应答

明白没?!



7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧