C# 如何确保调制解调器已连接到电话线

C# 如何确保调制解调器已连接到电话线,c#,serial-port,at-command,modem,C#,Serial Port,At Command,Modem,我刚刚注意到,如果调制解调器未连接到电话线,而您打开串行端口,并发送类似“AT\r\n”的AT命令,则您的应用程序将挂起大约+20秒。如何确保已将电话线连接到调制解调器?您只能打开和关闭与设备(例如调制解调器)关联的串行端口。如果无法打开,则表示不可用。您只能打开和关闭与设备(例如调制解调器)关联的串行端口。如果无法打开,则表示不可用。您可以使用GetModemStatus查找调制解调器状态。。如果调制解调器已连接,此函数将返回特定值。我不确定每次的值是否相同。。在我的电脑中,此函数返回115。

我刚刚注意到,如果调制解调器未连接到电话线,而您打开
串行端口
,并发送类似
“AT\r\n”
的AT命令,则您的应用程序将挂起大约+20秒。如何确保已将电话线连接到调制解调器?

您只能打开和关闭与设备(例如调制解调器)关联的
串行端口。如果无法打开,则表示不可用。

您只能打开和关闭与设备(例如调制解调器)关联的
串行端口。如果无法打开,则表示不可用。

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

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

请不要说客户端应该弯曲并查看机箱的后面以进行检查!:这就是你的意思。从软件的角度来看,不可能分辨出以下三者之间的区别:a)电缆未插入,b)电缆插入但中途切断,c)电缆插入但另一端未插入,d)电缆插入两端但另一端未插入。所以我认为这种物理检查是不可能的。如果你只是想避免挂起,你可以在后台线程中运行调制解调器调用?(假设这是一个UI程序,而不是一个控制台应用程序)虽然没有(微软提供的).NET包装器,但我希望它会有这个功能,只在谷歌上出现(没有尝试过,不能推荐)@mmye:WHAT!!!我的意思是,如果手机中有任何信号,那么调制解调器已经连接到其他位置了。不D@Rup:谢谢,但这是一种例外证明的做事方式。我的意思是等待在
SerialPort
上出现异常或错误时说“没有电话线”?:-?这不是个好主意。我在寻找更好的方法!与windows一样,当您尝试使用拨号连接时,它会立即提醒您!:-请不要说客户应该弯下腰去看箱子后面,以便检查!:这就是你的意思。从软件的角度来看,不可能分辨出以下三者之间的区别:a)电缆未插入,b)电缆插入但中途切断,c)电缆插入但另一端未插入,d)电缆插入两端但另一端未插入。所以我认为这种物理检查是不可能的。如果你只是想避免挂起,你可以在后台线程中运行调制解调器调用?(假设这是一个UI程序,而不是一个控制台应用程序)虽然没有(微软提供的).NET包装器,但我希望它会有这个功能,只在谷歌上出现(没有尝试过,不能推荐)@mmye:WHAT!!!我的意思是,如果手机中有任何信号,那么调制解调器已经连接到其他位置了。不D@Rup:谢谢,但这是一种例外证明的做事方式。我的意思是等待在
SerialPort
上出现异常或错误时说“没有电话线”?:-?这不是个好主意。我在寻找更好的方法!与windows一样,当您尝试使用拨号连接时,它会立即提醒您!:-正如我在前面的评论中所说,这是一种例外证明方式!但谢谢你们。正如我在前面的评论中所说,这是一种例外证明方式!但是谢谢你。