求一段可以检测哪一个端口安装有MODEM的程序!(30分)

  • 主题发起人 funboy88
  • 开始时间
F

funboy88

Unregistered / Unconfirmed
GUEST, unregistred user!
求一段可以检测哪一个端口安装有MODEM的程序!
分不够了,只有这么多,!先谢了,!
我在写一个发传真的软件,要这段程序,呵呵,交个朋友!

eamil:zhusx@163.net
qq:2469284
 
首先在注册表中查出系统中有几个串口资源,然后分别向每个串口送出“AT+chr(13)”(不要连引号都送出去了哦,嘿嘿)。这时,安装了Modem并打开了电源的串口就会收到“OK”字符串,当然,中间可能还会收到几个chr(13)。
具体的方法都很简单,你自己来做做看吧。
 
应该如何写,我知道在注册表中找出已有的串口,可是如何发送命令呀,那个AT命令如何发出去,
请见告哟,我刚接触这个的,请指教!最好写段代码
 
你用的是什么MODEM,有个API函数可设置MODEM状态,看各个MODEM可设置的状态不一样!返回值也不同,你可看看MODEM说明,接受回来判断一下就可知道哪个串口有接MODEM!
 
在注册表中可以判断。
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Serivces/Class/Modem/0000
 
我用的是网达语音MODEM

TO ZRWeng:
2000注册表里好像找不到这个
to simon707:
你这种方法应该要好些,我用一个TAdModem控件,发送AT指令给MODEM,可是这个控件好像没有接收指令的事件的呀
请问如保得到返回的代码!
 
用API的话,你可以用WIN32API的 CreateFile 函数来打开端
口,用WriteFile过程向串口发送AT命令,用ReadFile过程读
出串口上Modem返回的信息。
如果该串口上很长时间没有反应,那么这个串口要么是没有接
Modem,要么就是Modem的电源已经关闭。接有Modem并打开电源
的Modem将返回“OK”这个字符串。当然,中间也有可能会收到
Modem输出的一个或几个“换行符”,程序中需要将它们忽略。

有关WIN32API的内容请参见有关书籍。推荐一本由清华大学出版
的“Delphi与RS-232串口通信控制”一书。书中对串口的各种应
用做了详细的介绍,并给出了大量的实例,很有参考价值。
 
你说的那个控件我没用过,但是道理是一样的。在任何一个串口的控件
中,都会有从串口接收信息或数据的过程或函数或事件。
接收指令是同接收串口的信息或数据所用的方法是一样的。只要对接收到
的信息或数据进行分析,看看收到的内容里面有没有“OK”这个字符串
就行了!
 
多谢,基本上明白你的意思!
我在试用CREATFILE来实现这个功能,上周末我在书店看到实现检测 MODEM的状态的例程!
 
如何用程序来判断机子装的MODEM是内置的还是外置的呀?
外置的串口一般是COM1和COM2
内置一般是大于2的,
可是外置也可能是3呀,机子只有一个串口的情况,所以能不能通过注册表或AT指令之类的来判断是外还内置的?
请联系!2469284(qq)
zhusx@163.net(email)

 
多人接受答案了。
 
顶部