解决VS2010使用mscomm控件无法接收数据的问题
如果你正在使用2010,并且想用mscomm控件,遇到如下问题,那你可以看看这篇文章:
1. 添加了mscomm控件以及对应的控件变量以后发现以前mscomm的成员函数,类似setsettings(),commport(),都不见了
2. 在类向导里添加了消息响应函数OnMscomm之后无法进入。
1. 首先,2010不支持mscomm控件,所以要注册mscomm控件,我看了两篇文章,都按照做了
http://blog.csdn.net/flydream0/article/details/8002012
http://hi.baidu.com/shareshow/item/6f8d48f60cd5d7d642c36ae7
简单来说,就是下载控件,注册控件,修改注册表
第一步:下载MSComm控件
下载地址:http://download.csdn.net/detail/flydream0/4583699
第二步:注册组件
压缩包内包含四个文件:
MSCOMM.SRG
MSCOMM32.DEP
MSCOMM32.oca
mscomm32.ocx
复制到系统盘的C:\Windows\System32(WIN7系统)。
然后在运行里,输入:
Regsvr32 C:\winnt\system32\Mscomm32.ocx
然后会看到以下提示,说明注册成功了
第四步:修改注册表
在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表
找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
至此,mscomm控件注册完毕!
接下来就是如何在工程里添加mscoom控件了。
第一步:在工具箱的下图这个位置右键,选择choose item
第二步:在弹出的组件栏里选择“COM Components”下的"Microsoft communication control 6.0",然后工具箱里就会有一个电话图标了
第三步:添加控件,也就是把电话图标拖到对话框里,并添加控件变量
添加空间以后,在控件上面右键,然后选择“add variable”,这个时候请特别注意,下图两个红框里面的文件会被自动添加到工程,并且文件名都带“1”.如果你的工程里没有自动添加,或者文件名后面不带“1”,那么出错的可能性就很大了。网上有种帖子说,用右键工程-->添加MFC类-->添加ActiveX的MFC类-->添加mscomm类定义,这样添加出来的文件个人实验下来是不带“1”的。我也不知道为什么,这两种方法大概都可以,有空的话你可比较一下带“1”和不带“1”的两个cpp文件和h文件的区别。
第四步:添加消息响应函数
在控件上右键-->添加事件handle-->添加响应函数
这样添加以后cpp文件里会自动多出来以下代码
- BEGIN_EVENTSINK_MAP(CMscommTest3Dlg, CDialogEx)
- ON_EVENT(CMscommTest3Dlg, IDC_MSCOMM1, 1, CMscommTest3Dlg::OnCommMscomm1, VTS_NONE)
- END_EVENTSINK_MAP()
- void CMscommTest3Dlg::OnCommMscomm1()
- {
- // TODO: Add your message handler code here
- }
BEGIN_EVENTSINK_MAP(CMscommTest3Dlg, CDialogEx)
ON_EVENT(CMscommTest3Dlg, IDC_MSCOMM1, 1, CMscommTest3Dlg::OnCommMscomm1, VTS_NONE)
END_EVENTSINK_MAP() void CMscommTest3Dlg::OnCommMscomm1()
{
// TODO: Add your message handler code here
}
注意,不要在控件上面右键用类向导添加消息响应函数,这样添加的消息响应函数是无法被触发的,我也不知道为什么,顺便求高人指点
好了,至此,mscomm控件已经控件变量已添加完毕,接下去就慢慢享受mscomm的奇妙功能吧~~
文章来自:drlsdrls《关于2010下使用mscomm控件》
解决VS2010使用mscomm控件无法接收数据的问题的更多相关文章
- 解决VS2010使用mscomm控件无法接收数据的问题【转】
之前有用过VC6的mscomm控件.所以这次也想继续用此控件实现此功能,结果没想到刚一上手还真的绕了不少弯子.主要是因为VC2010下对mscomm控件的添加,以及对控件成员变量的添加有点小繁琐,特此 ...
- MSComm控件进行串口编程的基本步骤
Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控 ...
- 串口通信-MSComm控件使用详解
串口通信-MSComm控件使用详解 2012年11月13日 09:35:45 他山之石可以攻玉 阅读数:37952更多 个人分类: 控件编程Delphi编程 MSComm 控件通过串行端口传输和接 ...
- C#串口通信:MSComm控件使用详解
目 次MSComm控件两种处理通讯的方式CommPort属性RThreshold 属性CTSHolding 属性SThreshold 属性CDHolding 属性DSRHolding 属性Setti ...
- 在VS2010中如何添加MSCOMM控件,实现串口通讯
参考文章:http://wenku.baidu.com/link?url=MLGQojaxyHnEgngEAXG8oPnISuM9SVaDzNTvg0oTSrrJkMXIR_6MR3cO_Vnh- ...
- ActiveX控件的基本操作方法以及如何在VS2010下使用控件
在此,小编就介绍下ActiveX控件的基本操作方法以及如何在VS2010下使用控件,我们以一个程序为例, (1) 打开VS2010编译器(右键以管理员身份运行,因为ActiveX需要注册), ...
- MSComm控件与Win32 API操作串口有何区别?
MSComm控件与Win32 API操作串口有何区别? [问题点数:50分,结帖人shell_shell] 收藏帖子 回复 我是一个小兵,在战场上拼命! 结帖率 83.33% 我以前用MSCo ...
- Visual Studio 2008 添加MScomm控件的方法
1.下载MSCOMM.zip,解压后包含4个文件:MSCOMM32.OCX, MSCOMM.SRG, MSCOMM32.DEP, MSCOMM32.OCA 2.将Mscomm.srg, Mscomm3 ...
- Mscomm控件安装问题 License information for TMSComm not found.
操作步骤: 1.打开delphi,菜单选择compoents->import Activex control,然后选择那个mscomm32.ocx安装即可. 2.注册MScomm控件 开始- ...
随机推荐
- CentOS7 安装Nginx 1.14:
nginx-1.14.2.tar.gz:下载:wget http://nginx.org/download/nginx-1.14.2.tar.gz 安装nginx: yum install ...
- SqlSever查询某个表的列名称、说明、备注、注释,类型等
这周整理了数据库文档,发现用导出脚本来整理表的信息注释查看不方便,因此我就想能不能SQL语句查询表的注释或者表的字段.我就我问朋友是不是可以,他给我点指导,然后自己也在网上百度,来实现自己的想法,我把 ...
- 关于react16.4——上下文Context
首先我们来聊一聊(上下文)Context. 上下文(Context) 提供了一种通过组件树传递数据的方法,无需在每个级别手动传递 props 属性. 在典型的 React 应用程序中,数据通过 pro ...
- 在react+redux+axios项目中使用async/await
Async/Await Async/Await是尚未正式公布的ES7标准新特性.简而言之,就是让你以同步方法的思维编写异步代码.对于前端,异步任务代码的编写经历了 callback 到现在流行的 Pr ...
- Parse error: syntax error, unexpected end of file in * 的解决办法
这个原因很简单,就是你的php语法错误. 在你的php代码种出现了<? ?> 标准的是<?php ?>
- Golang 在 Mac、Linux、Windows 下如何交叉编译(转)
原文地址:Golang 在 Mac.Linux.Windows 下如何交叉编译 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下 ...
- [LightOJ 1265] Island of Survival
Island of Survival You are in a reality show, and the show is way too real that they threw into an i ...
- InnoDB存储引擎表的主键
在InnoDB存储引擎中,表是按照主键顺序组织存放的.在InnoDB存储引擎表中,每张表都有主键(primary key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创 ...
- stund客户端使用结果说明
stun服务器是用于检测网络类型的重要工具. 源码地址:https://svwh.dl.sourceforge.net/project/stun/stun/0.97/stund-0.97.tgz 或者 ...
- LY.JAVA面向对象编程.内部类
2018-07-18 10:14:48 /* 内部类概述: 把类定义在其他类的内部,这个类就被称为内部类. 举例:在类A中定义了一个类B,类B就是内部类. 内部的访问特点: A:内部类可以直接访问外部 ...