解决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控件 开始- ...
随机推荐
- 启动adb devices,报adb已停止工作
1.winddows下,一般是由于adb默认的”5037“被其他应用占用导致的(手机助手或者360居多) 2.cmd 下 netstat -ano |find "5037"查找占用 ...
- Django中模型层中ORM的多表操作
ORM的多表创建(一对一.一对多,多对多): 1模型创建 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等 ...
- python迭代器概念与应用
结论 )可迭代对象包含迭代器.2)如果一个对象拥有__iter__方法,其是可迭代对象:如果一个对象拥有next方法,其是迭代器.3)生成器是一种特殊的迭代器,生成器自动实现了“迭代器协议”(即__i ...
- ajax代码整理
$.ajax({ type: "post", [以POST或GET的方式请求.默认GET.PUT和DELETE也可以用,有的浏览器不支持] url: url, [请求的目的地址,须 ...
- Notes for GGplot2: Getting started with ggplot2
Alpha-ma 2016/10/7 1 Introduction of GGplot2 ggplot2 is an R package for producing statistical, or d ...
- 九、持久层框架(MyBatis)
一.基于MyBatis的对象关系配置(基于XML方式的配置) 注: MyBatis不能像Hibernate那样,在实体类上配置上注解或者配置xml映射文件,系统启动后就可以自动创建表.因为MyBati ...
- https 不会被中间人攻击——因为中间人即使拿到了数据,也是加密的
只要你登陆了一个使用 HTTPS 数据加密的网站,浏览的页面的内容如果被人中途看见,将会是一团乱码.它也能保证,你浏览的页面就是你想浏览的,不会被黑客在中途修改,网站收到的数据包也是你最初发的那个,不 ...
- vue-router 路由钩子(hook)
钩子(hook)—劫持机制 路由钩子(守卫钩子): 1.全局钩子2.某个路由独享的钩子3.组件内钩子 三种路由钩子中都涉及到了三个参数,官方(https://router.vuejs.org/zh-c ...
- jeasyUI DataGrid 根据屏幕宽度自适应, 改变右侧滚动条Size
PC浏览器的Datagrid可以显示多几列,但是在手机浏览器时,只能有选择性的显示前几列. $(window).resize(function () { if (document.body.clien ...
- cin.get()函数使用例子
#include <iostream>using namespace std; int k = 0; int main(){ char a[1000]; char c; do { cin. ...