用MSComm控件实现来电显示
来电显示的实现
MODEM的AT命令CID和VCID是设置是不是来电显示的,如果电信开通了来电显示功能
就能通过MODEM来显示对方的电话号码。那么首先设置CID=1或是VCID=1
般来说来电显示的信息为:
DATE = MMDD "来电日期 MMDD
TIME = HHMM "来电时间 HHMM
NMBR = ######## "来电号码
程序实现如下,设置MSComm1的相关设置,并建两个Label为Label1和Label2
FunCTion OpenCID(OpenCLose As Boolean) As Boolean
'打开或是关毕来电显示功能
On Error Resume Next
Dim ArrCID(1) As String
ArrCID(0) = "at#cid=" & IIf(openclode, 1, 0)
ArrCID(1) = "at#vcid=" & IIf(openclode, 1, 0)
MSComm1.RThreshold = 0
For i = 0 To 1
MSComm1.Output = ArrCID(i) & vbCr
EndTime = Timer + 0.5
Do While bStop = False
nTemp = nTemp + 1
If MSComm1.InBufferCount >= 2 Then
sTemp = MSComm1.Input
If InStr(sTemp, "OK") = 0 Then
bStop = True
OpenCID = True
Exit Function
End If
End If
If Timer >= EndTime Or ErrorCode Then Exit Do
Loop
Next i
OpenCID = False
MSComm1.RThreshold = 1
End Function
下面的函数显示来电号码并在窗体上的Label1的Label2上显示出来
Private Sub MSComm1_OnComm()
On Error Resume Next
Static Buffer As String
' 收到多于 RThreshold 属性设置的字符数(RThreshold 属性必须大于 0)。
'label1 = "收到" + Str(MSComm1.InBufferCount) + "个字符"
Buffer = Buffer + MSComm1.Input
Buffer = UCase(Buffer)
' Exit Sub
If InStr(1, Buffer, "RING", vbTextCompare) Then
'收到震铃
'Comm1.Output = "ATA" + Chr(13) '命令 Modem 摘机响应
Buffer = "" '清缓冲区字符
'mciExecute "sound " & SystemPath & "/ringin.wav"
Label1 = "状态:收到震铃"
Zhen = True
frmCallID.Show
frmCallID.ChangRing
ElseIf InStr(1, Buffer, "CONNECT", vbTextCompare) Then
'对方应答呼叫
Buffer = "" '清缓冲区字符
Label1 = "状态:已经建立连接"
ElseIf InStr(1, Buffer, "BUSY", vbTextCompare) Then
'对方线路忙
Buffer = "" '清缓冲区字符
Label1 = "状态:对方线路忙"
ElseIf InStr(1, Buffer, "No DIA", vbTextCompare) Then
Buffer = "" '清缓冲区字符
Label1 = "状态:拨出号码错,请检查电话线"
Command1_Click
ElseIf InStr(1, Buffer, "No CARRIER", vbTextCompare) Then
'对方未摘机或未响应
Buffer = "" '清缓冲区字符
Label1 = "状态:对方未摘机"
ElseIf InStr(1, Buffer, "NMBR =", vbTextCompare) Then
tmpStr = InStr(1, Buffer, "NMBR", vbTextCompare)
CallNum = Right(Buffer, Len(Buffer) - lll - 6)
Label2.Caption = "对方电话:" + CallNum
'Buffer = "" '清缓冲区字符
ElseIf InStr(1, Buffer, "OK", vbTextCompare) And Asc(Right(Buffer, 1)) = 10 Then
If Zhen = False Then Buffer = "" '清缓冲区字符
If Command1.Caption = "挂断" Then
Label2.Caption = "状态:已经播通电话:" + txtCallNum
End If
End If
End Sub
用MSComm控件实现来电显示相关推荐
- 来电显示软件测试自学,用MSComm控件实现来电显示
来电显示的实现 MODEM的AT命令CID和VCID是设置是不是来电显示的,如果 般来说来电显示的信息为: DATE = MMDD "来电日期 MMDD TIME = HHMM " ...
- 利用MSCOMM控件通过串口MODEN实现来电显示-c# source code
利用MSCOMM控件通过串口MODEN实现来电显示-c# source code 注:此代码都已调试通过 处理方式 MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设 ...
- 怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时惠存txt文件中
怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时存入txt文件中 我在做一个基于VC6的MSComm控件的电机上位机控制,数据帧格式采用9600bps,8位数据位,奇校验,1位 ...
- Delphi利用MSCOMM控件进行GPS数据采集
1.准备 GPS(Global Positioning System),即全球定位系统,利用GPS卫星的测距和测时功能进行全球定位,在许多系统中,如机场导航系统,出租车辆管理和调度系统.江河流域的灾害 ...
- VS2008下用MFC 的MSComm控件编写串口程序
可以在:http://download.csdn.net/detail/plutus_lee/4525446 下载详细文档. 首先感谢网络资源吧,作为一个自动化专业出身的,不懂串口实在让我有点无奈,本 ...
- MFC使用mscomm控件实现plc通信
废话不多说,直入主题! 我们的mscomm控件实现plc通信,主要分三步走: (一)mscomm控件下载,注册 (1)可以百度搜索下载mscomm控件 (2)如果觉得麻烦可以在我上传的资源处下载,地址 ...
- 《MSComm控件小结》
一:在Visual C++ 6.0集成开发环境下,可以通过三种方法实现串口通信 1)运用MFC函数进行编程实现串口通信 2)运用MSComm控件进行编程实现串口通信 3)运用VC++运行库函数实现串口 ...
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?...
jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...
- Android的WebView控件载入网页显示速度慢的究极解决方案
Android的WebView控件载入网页显示速度慢的究极解决方案 [转载来源自http://hi.baidu.com/goldchocobo/] Android客户端中混搭HTML页面,会出现虽然H ...
最新文章
- Poj_3984走迷宫(广搜)
- 计算机分组教学,中职计算机教学分组协作式学习论文
- MySQL下使用Inplace和Online方式创建索引的教程
- 【软件测试】测试的强弱和健壮性
- AOV网和AOE网对比
- Web性能测试工具:http_load安装使用简介
- ace admin ajax加载页面,循环加载首页的解决办法
- 余额宝提现测试点【杭州多测师】【杭州多测师_王sir】
- 雪豹10.6升级10.8
- java繁体_Java-汉字繁体拼音转换
- storm风暴英雄 tempo_风暴英雄玩好乔汉娜需要知道的7个技巧 TempoStorm
- Android 项目集成有米 SDK 添加广告
- m苹果放n篮子_【求这个编程】 有m个橘子,n个篮子,把橘子全部放进篮子里的...
- 使用STM32F4浮点运算(FPU)功能开启+使用DSP库
- 使用shui文件夹遇到问题总结
- ps快速将白底图片变为透明图片
- VLAN的作用 与 基本原理
- 利用网络将Kindle3变成随身的报刊…
- mybatis解析-association实现原理详解
- 小米3连续快速点击android版本四次后出现屏幕是红的咋耨,小米3怎么打开usb调试...
热门文章
- 浮点运算计算机在线,双浮点运算计算器
- Linux系统下设置redis的密码 与 redis 命令
- Linux的swap损耗固态寿命吗,一文看懂固态硬盘使用寿命问题
- 面试官问,你为什么离职?
- gzip: stdin: unexpected end of file 问题的解决。
- Python XLRDError: Excel xlsx file; not supported解决方法
- Python 【Litte Tips】如何优雅地跳出双层循环
- Windows 10 企业版远程桌面连接CredSSP 加密数据库修正问题解决
- ArcSDE和Oracle分离安装(生产实践)
- Android岗大厂面试官常问的那些问题,知乎上转疯了!