VS2015中配置MSComm通讯控件和注意事项

1.MSCommon通讯控件前文回顾

MSComm 作为一个串行通讯控件。在为程序员串口通讯编程节省了很多时间,基于对话框的应用中加入一个MSComm控件非常简单。
MSComm控件提供了两种处理通信的方法:
事件驱动
事件驱动通信,是一种功能很强的处理串口活动的方法。例如,当在CD(Carrier Detect)线或RTS(Request To Send)线上有字符到达或发生了改变,在这种情况下,可以使用MSComm控件的OnComm事件捕获和处理这些通信事件。OnComm也可以捕获和处理通信中的错误。
检测属性
可以在每个重要的程序功能之后检查CommEvent属性的值来检测事件和通信错误。使用的每个MSComm控件都与一个串口对应。如果在应用程序中需要访问多个串口,必须使用多个MSComm控件,可以在Windows 控制面板中修改串口地址的中断地址。
悲催的是:在VS2010及其高版本中,微软已经放弃了MSComm通讯控件的使用,对以往使用这一控件的人来说是一种不便,但通过一定方法可以重新导入MSComm控件并投入使用。

2.一步一步在VS2015中进行配置

1.MSCommon通讯控件文件包下载
下载地址:http://download.csdn.net/download/rabbit200808/3236756。压缩包包含四个文件:MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx;解压后拷贝到:
C:\Windows\System32(我用的是WIN7系统)
注意:64位win7系统需要将mscomm32.ocx文件复制到C:\Windows\SysWOW64\目录,否则后面注册会出错。
2.MSCommon通讯控件进行注册

在C:\Windows\System32里找到cmd.exe以管理员身份运行:Regsvr32  C:\Windows\System32\MSCOMM32.OCX
注册成功如图所示:

3.对本机上的注册表进行修改
win+R组合键打开“运行”或者直接在开始菜单里找到“运行”;输入regedit后回车,打开注册表管理器:

在其中找到HKEY_CLASSES_ROOT项下的Licenses项:

添加主项命名为“4250E830-6AC2-11cf-8ADB-00AA00C00905”,并将键值修改为 “kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun”


4.新建MFC工程项目,测试MSCommon通讯控件是否导入成功
在对话框上右击选择“打开ActiveX控件”,英文版“InsertActiveX Control”找到Microsoft Communications Control,version 6.0


添加后的效果,如图所示:


3.版本不兼容的注意事项

1.MSComm控件函数更新使用
新版本的Visual studio使用MSComm时之前很多以Set开头或者Get开头的函数都改成了以Put_开头或者Get_开头。如之前的SetCommPort改成了Put_CommPort;GetInput改成了Get_Input;
2.MSComm控件Create()函数运行时报错问题
程序编译通过但运行时报错如图:

解决方法: 对于MSComm的关联变量在创建前需要先销毁窗口,如下程序段:
    <span style="font-size:18px;">   mycomm.DestroyWindow();           //mycomm为MSComm的关联变量
       if(!mycomm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1))
       {
              AfxMessageBox("创建MSComm控件失败");
              return -1;
       }</span>

你可能感兴趣的:(VS2015中配置MSComm通讯控件和注意事项)