有没有办法在 C# 中操作手机?我有一个调制解调器,调制解调器连接到手机,手机连接到电脑,我想制作一个应用程序,显示来电号码?我知道这是一个远景,但是,有什么想法吗?
问问题
801 次
1 回答
1
我假设我们是
- 在这里谈论传统的调制解调器
- 通过串行端口连接到调制解调器(也就是说,连接到计算机,它看起来像一个 COM 端口)
- 支持呼叫者 ID(请参阅调制解调器的文档,无论如何您都需要了解带有呼叫者 ID 的 RING 响应是什么样的,以及您需要向调制解调器发送什么命令来激活 CalledID - 常见字符串包括
AT#CID=2
AT%CCID=1
或AT%CCID=2
根据此页面 - 实施的 CalledID 系统与您的提供商的系统兼容,并且您的订阅包括 CallerID 服务
如您所见,一系列严格的先决条件......
通过将调制解调器连接到电话线并打开超级终端或任何其他终端仿真器,可以快速测试其中的大多数。当您在电话线上接到电话时,您应该会看到RING
后面跟着来电方的信息。该信息的结构方式取决于各个调制解调器,您应该能够在文档中找到该信息,或者仅通过查看输出来找到该信息。
一旦你走到这一步,剩下的或多或少都是微不足道的:你使用 .net 包含的 SerialPort 类打开适当的 COM 端口(这里是教程,还有很多其他的浮动)并编写以下序列:
通过发送初始化调制解调器
ATZ
Enter- 等待
OK
- 发送来电显示命令Enter
- 等待
OK
- 循环
- 继续读取串口,直到看到
RING
后面跟着来电显示 - 输出数据
- 继续读取串口,直到看到
只有在非常罕见的情况下,您必须在通话之间重置调制解调器,对于许多调制解调器来说,通过将 DTR 拉低一秒钟然后在发送前备份来唤醒它们可能会有所帮助ATZ
,有些调制解调器甚至会在 DTR 像这样的脉冲时自动初始化。
所以总而言之,它非常简单,但是由于与调制解调器的连接已经变得不像以前那么流行了,您需要进行一些挖掘以找到相关信息和示例代码。祝你好运!
于 2013-07-06T12:30:15.290 回答