用MsComm控件接通后又能通用挂断所有型号Modem的方法

jessezappy 2002-01-22 12:33:25
我现在的难题时如何找到一个用MsComm控件接通后又能通用挂断所有型号Modem的方法,先声明用AT指令的不行,用.PortOpen = False直接关闭MsComm控件的也不行,请想其他的办法,只要挂断的方法,接通不用了
...全文
192 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
jessezappy 2002-01-30
  • 打赏
  • 举报
回复
最后两贴请sxmzmxh(深巷)赶快登陆分分..
jessezappy 2002-01-29
  • 打赏
  • 举报
回复
zyl910(910:分儿,我来了!) 别急嘛,你的分在http://www.csdn.net/expert/topic/495/495039.shtm里面的。。,当然了我还要多加一点给你们。。。。

'-----------------------------------------------------------------------------------------------
该问题还有3块没有放分,因为分数较散,所以Amoon(阿木) Flowerz(祖国的花朵) wgku(云霄) 的均合并在一贴拿了, sxmzmxh(深巷) 的则分为三处拿,请sxmzmxh(深巷) 登陆其他两个贴子拿分.
'-------------------------------------------------------
http://www.csdn.net/expert/topic/497/497597.shtm
点数:69
liangsiyuan(叶) 3  cocoboy79(iThink.net) 5 Amoon(阿木) 0
TBBT(谁能读懂我的心) 10 bluesky35(蓝天)   4 Bardo(巴顿) 10
wgku(云霄)  4 Flowerz(祖国的花朵)  15 sxmzmxh(深巷) 8
vcbug(今夜最后一次陪你而醉)  10

http://www.csdn.net/expert/topic/487/487090.shtm
点数:47
wgku(云霄) 0  Flowerz(祖国的花朵) 0 sxmzmxh(深巷) 47

http://www.csdn.net/expert/topic/490/490318.shtm
点数:47
wjying(葡萄) 3   langzhi(方舟) 23  Amoon(阿木) 8
 brian_zhuang(不长进的阿庄) 3 sxmzmxh(深巷) 10

'-----------------------------------------------------------------------------
最后两贴请sxmzmxh(深巷)赶快登陆分分..
jessezappy 2002-01-29
  • 打赏
  • 举报
回复
最后两贴请sxmzmxh(深巷)赶快登陆分分..

zyl910 2002-01-28
  • 打赏
  • 举报
回复
看了http://www.csdn.net/Expert/topic/504/504918.shtm!
给我点分行吗?
jessezappy 2002-01-25
  • 打赏
  • 举报
回复
本贴将放分,请有意帮忙者进:
http://www.csdn.net/expert/topic/497/497597.shtm
另外有分.
jessezappy 2002-01-24
  • 打赏
  • 举报
回复
brian_zhuang(不长进的阿庄) 上面的是玩笑了,Amoon(阿木)不是说了嘛:我帮你留意着,看到了告诉你!
不过多谢brian_zhuang(不长进的阿庄)了 
昨天的议题,请昨天没有看到的同仁继续发表意见..
jessezappy 2002-01-24
  • 打赏
  • 举报
回复
原来如此啊,我以为你说电话线,我有点呆,还是Amoon(阿木)你有办法..
先谢过了....
brian_zhuang 2002-01-24
  • 打赏
  • 举报
回复
??这也叫办法??
虽然我没有办法帮你解决问题(没搞过modem),但拔电源线好象不是程序员解决的办法吧?(除非你设计一个能够自动断电的程序),顺便帮忙up一下 :)
jessezappy 2002-01-24
  • 打赏
  • 举报
回复
upit
Amoon 2002-01-23
  • 打赏
  • 举报
回复
呵呵,我是说拔电源线啊!
我帮你留意着,看到了告诉你!
jessezappy 2002-01-23
  • 打赏
  • 举报
回复
Amoon(阿木)啊,不行的,拔了线CD的灯照样亮着,不行.就是有那么怪的MODEM..
而且我的程序要实现无人职守,还得单独设计一个"拔线"的程序吧..
Amoon 2002-01-23
  • 打赏
  • 举报
回复
呵呵,我的方法最简单有效:把线拔了!
jessezappy 2002-01-23
  • 打赏
  • 举报
回复
请看http://www.csdn.net/Expert/topic/495/495039.shtm
jessezappy 2002-01-23
  • 打赏
  • 举报
回复
我就看着上面的代码有点眼熟,这只能挂断拨号网络,不能实现我的目的.
我连结的是一台8088的单片机,用modem,我的代码可以正常挂断内外置modem,唯独"U.S. Robotics 33.6K FAX EXT"这个型号的不能正常挂断.........不过还是多谢langzhi(方舟)的帮忙,这个贴子4天没人响应了.
'---------------------------------------------------------------------------
现在,我看只有借助TAPI32.DLL了.不过我全然不知TAPI32.DLL的用法.下面是我在一个和我实现同样功能的程序的可执行文件中弄到的,可能是需要用到的连接和挂断所需的函数.可否给点定义和使用说明及代码?
'------------------------------
TAPI32.DLL
'-------------------------------
lineClose
lineConfigDialogEditA
lineDrop
lineGetDevCapsA
lineGetDevConfigA
lineGetIDA
lineGetMessage
lineInitializeExA
lineMakeCallA
lineNegotiateAPIVersion
lineOpenA
lineShutdown
'-----------------------
jessezappy 2002-01-23
  • 打赏
  • 举报
回复
多谢langzhi(方舟)等我试一下,就回来放分
langzhi 2002-01-23
  • 打赏
  • 举报
回复
'-------------------------断开网络连接----------------------
Public Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Public Type RasEntryName
dwSize As Long
szEntryName(256) As Byte
End Type
Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(256) As Byte
szDeviceType(16) As Byte
szDeviceName(128) As Byte
End Type
Public gstrISPName As String
Public ReturnCode As Long

Public Sub HangUp()
Dim i As Long
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long

lpRasConn(0).dwSize = 412
lpcb = 256 * lpRasConn(0).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, _
lpcConnections)

If ReturnCode = 0 Then
For i = 0 To lpcConnections - 1
If Trim(ByteToString(lpRasConn(i).szEntryName)) _
= Trim(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
ReturnCode = RasHangUp(ByVal hRasConn)
End If
Next i
End If
End Sub

Public Function ByteToString(bytString() As Byte) As String
Dim i As Integer
ByteToString = ""
i = 0
While bytString(i) = 0&
ByteToString = ByteToString & Chr(bytString(i))
i = i + 1
Wend
End Function


jessezappy 2002-01-23
  • 打赏
  • 举报
回复
多谢wjying(葡萄),

这个问题主要是针对"Modem:主要是外猫.特别是"U.S. Robotics 33.6K FAX EXT"这个型号的... "用尽我所知道的所有办法均不能将CD(Carrier Detect)线路复位,以断开线路.故请高手帮忙...
jett 2002-01-23
  • 打赏
  • 举报
回复
这个问题太专业不懂
不过帮你up
jessezappy 2002-01-22
  • 打赏
  • 举报
回复
加分
jessezappy 2002-01-22
  • 打赏
  • 举报
回复
加分
加载更多回复(1)
  编写一本串口及语音传真编程方面书籍的想法,是在编写语音自动应答系统时产生的。该系统的作用是通过语音Modem来把谈话内容录制下来.并能提示对方。虽然目前已有现成的软件,但用于商业用途的收费不菲,而且也有种种先天不足(如:不能判断对方是否挂机、无人接听、忙音、静音等) ,又不能集成在应用软件中.于是提出编写一个实用的自动应答系统。开始编写时头脑还是一片空白,只知道用语音AT命令可以实现这些功能.但是这些命令很繁杂,而且不同型号的调制调解器也许需要用不同的AT命令.很难实现兼用性;虽然TAPI可以实现,且兼用性不错,但找遍了书店和国内的网站都未找到详细完整的资料;另外在介绍语音、传真格式的转换等方面需要编写大量的代码:一些现成的免费控件如MSCOMM、SP-COMM,虽然也可以实现一些简单的功能. 但这只是AT命令的扩展. 功能有限. 很难满足语音、传真高级编程的需求.因此考虑到利用其他第三方组件。   组件APRO就是首选,它封装了TAPI函数.提供APF打印驱动环境,转换文件为传真文件格式、拨号控件、终端控件、FTP控件等,可以实现呼叫中心、Fax系统,实现语音E-mail更简单,为GSM提供SMS服务等。   虽然如此.结合我国电信标准和Modem硬件的实际情况,还是需要部分修改APRO组件的代码,用语音识别的方法解决了在"语音"模式中不能判断对方是否挂机、无人接听、忙音、静音等("数据"模式本来就可以判断) ,修正了"传真"模式中部分内置Modem上不能收发传真的错误,成功地解决了国内语音、传真编程中的核心问题。   本书介绍利用APRO实现的电话自动应答系统.提供拨打电话或接听来电,播放、录制语音,检测、收集话机按键功能,还可以自动检测对方是否挂断等.是国内少有的功能较全的基于Modem 电话语音软件;此外,还在修正了APRO 传真模式的错误的前提下,编写了传真的收发、文件传输应用软件。   本书对组件的属性、方法、事件不是单纯的描述,而是有丰富的实例,并对实例进行深入剖析,更易于理解,以便让读者迅速地编出实用的程序,透彻地理解语音传真编程的实现方法

742

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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