2011-03-03 88 views
1

我刚刚注意到,如果调制解调器未连接到电话线,并且您打开SerialPort并发送像"AT\r\n"这样的AT命令,那么您的应用程序会挂起约20秒。我如何确保已经连接到调制解调器的电话线?如何确保调制解调器已连接到电话线

+0

请不要说,客户端应该弯曲,看看案件的背后检查! :D – Jalal 2011-03-03 08:37:20

+0

取决于你的意思。从软件角度来看,不可能说明以下几点之间的区别 - a)电缆未插入,b)电缆插入但切断半路,c)电缆已插入,但未插入另一端,d)电缆插在两端,但另一端没有插入。所以我不认为这种物理检查是可能的。 – mike 2011-03-03 10:01:40

+0

如果你只是想避免挂起,你可以在后台线程中运行调制解调器调用? (假设这是一个UI程序,而不是控制台应用程序)我期望[电话API](http://msdn.microsoft.com/en-us/library/ms734215%28v=vs.85%29.aspx )会有这个功能,虽然没有(Microsoft提供的).NET包装器,但只有[商业包装](http://www.traysoft.com/addtapi_overview.htm?gclid=CKPL9omWsqcCFUEa4Qod4lli_A)出现在Google上(没有尝试过,不能推荐它) – Rup 2011-03-03 10:22:31

回答

1

您只能打开和关闭与设备(调制解调器)相关的SerialPort。如果无法打开它,那意味着它不可用。

+0

正如我在之前的评论中所说的那样,它是一种例外的方式!但是谢谢你。 – Jalal 2011-03-04 17:22:21

0

您可以使用GetModemStatus查找调制解调器状态。如果调制解调器已连接,此功能将返回特定值。我不知道每次的价值是否相同..在我的电脑这个函数返回115.

相关问题