VC++ 6.0 中使用 MSComm.ocx
很多人喜欢单独安装VC++6.0,而不是完整安装VS,这样占用空间比较少,启动也快。但是要使用某些ActiveX控件的时候却会出现许可证问题(requires a design-time licence),譬如使用MSComm.ocx。至于ActiveX的许可证体系这里就不说了,简单说就是用来保证第三方ActiveX控件开发者的智力投资的。MSComm.ocx是VS自带的一个进行串口通讯的控件,本来在安装VS的时候会自动把相应的licence发放给用户,但是这个licence是由VB附带提供的,现在我们没有安装VB,因此当我们在插入该控件到我们的项目时,就会出现上述的许可证问题。 我们可以通过安装VB6.0来解决这个问题,但是如果我们平时很少用VB,就为了这个控件而安装的话就有点大材小用了,而且也违背了当初单独安装VC++的初衷。下面还有另外一种方法:在文本文件中输入(注意格式)
另存为一个注册表文件,如 lic.reg。然后双击。。好了,控件可以使用了。
update:下面的注册表文件更加全面。
先下载一个文件,下载地址:
http://download.csdn.net/download/rabbit200808/3236756
压缩包包含四个文件:MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx;
解压后拷贝到:
C:\Windows\System32(WIN7系统);
C:\WINDOWS\system32(XP系统)。
注意:64位win7系统还需要将mscomm32.ocx文件复制到C:\Windows\SysWOW64\目录下,否则后面注册会出错。
在C:\Windows\System32里找到cmd.exe以管理员身份运行:
Regsvr32 C:\WINDOWS\system32\MSCOMM32.OCX
注册成功如图所示:
修改注册表:win+R组合键打开“运行”或者直接在开始菜单里找到“运行”;输入regedit后回车,打开注册表管理器,在其中找到HKEY_CLASSES_ROOT项下的Licenses项,添加主项命名为“4250E830-6AC2-11cf-8ADB-00AA00C00905”,并将键值修改为“kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun”
新建MFC工程:在VS 2013中新建一个MFC项目,比如基于对话框的一个项目
添加MSComm控件:在对话框上右击选择“打开ActiveX控件”,英文版“InsertActiveX Control”找到Microsoft Communications Control,version 6.0,此时在对话框中出现一个电话一下的按钮,这个就是MSComm控件,软件运行时是看不见的
添加控件的另外一种方法是在 菜单栏 工具》选择工具箱项》COM组件
然后找到Microsoft Communications Control,version 6.0
MSComm控件函数使用:新版本的Visual studio使用MSComm时之前很多以Set开头或者Get开头的函数都改成了以Put_开头或者Get_开头。
如之前的SetCommPort改成了Put_CommPort;
GetInput 改成了Get_Input;
MSComm控件Create()函数运行时报错问题:
程序编译通过但运行时报错如图,解决方法:
对于MSComm的关联变量在创建前需要先销毁窗口,如下程序段:
mycomm.DestroyWindow(); //mycomm为MSComm的关联变量
if(!mycomm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1))
{
AfxMessageBox("创建MSComm控件失败");
return -1;
}
VC++ 6.0 中使用 MSComm.ocx的更多相关文章
- VC++6.0中ClassView中类消失 解决方案[转自网络]
有时候在VC++6.0中编程会出现这样一个问题,由于对C...View类的操作后,在窗口左边ClassView框中的C...View类会消失,这种操作通常是在C...View类中右击点“Add Win ...
- VC++ 6.0中实现三叉切分窗口与多视图 [转]
一.引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图.应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一 ...
- wxWidgets编译和在VC 6.0中的配置
1. 安装 运行wxMSW-2.8.3-Setup1.exe,将之安装到不带空格符号的目录中,本例为C:/wxWidgets-2.8.3: 2. 编译和配置 (1) 用VC6.0编译 进入C: ...
- vc++6.0中查看函数栈的结构
栈:一种后进先出的数据结构 比如:弹夹 函数调用的约定 传参顺序 传参媒介 如何传递返回值 平衡参数(堆栈平衡):有且只有被调方(callee)和调用方(caller)一方执行 _cdell (c ...
- VC++6.0中不兼容问题
记得上次用VC++6.0已经是很长一段时间之前的事情了.这次由于需要学习计算机图形学,要开始学这写一些算法之类的,我又开始了VC++之旅. 重新安装一个vc++,我用的是Visual C++ 6.0( ...
- VC++ 6.0中添加库文件和头文件
附加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Include files. 对于特定项目的头文件包含,在& ...
- VC 6.0中添加库文件和头文件 【转】
本文转载自:http://blog.sina.com.cn/s/blog_9d3971af0102wxjq.html 加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools&g ...
- 介绍静态链接库和动态链接库的差别,及在VC++6.0中的建立和使用
首先介绍一下链接库:链接库分为动态链接库和静态链接库两种 LIB是静态链接库,在程序编译连接的时候是静态链接,其相应的文件格式是.lib. 即当程序採用静态链接库的时候..lib文件里的函数被链接到终 ...
- VC++6.0中碰到Cannot access the ClassView information file.ClassView information will not be avaible.的解决方法
一般情况下是由于类视图文件损坏了,这是经常会发生的现象. 解决步骤: 1.关闭工程,2.删除工程下.clw .ncb 文件及/debug目录,3.重建工程build all. 具体解释如下: dsp ...
随机推荐
- Swift语言中与C/C++和Java不同的语法(四)
这一节,我们将会讨论一下Swift中的函数相关的基本内容 首先是函数的创建: func sayHello (name:String) -> String { return "Hello ...
- 【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(三)流式播放Live HLS视频
源码地址:https://github.com/Tinywan/PHP_Experience HTTP Live Streaming(HLS)是由Apple Inc.实施的非常强大的流视频协议.HLS ...
- CDN 边缘规则,三秒部署、支持定制、即时生效,多种规则覆盖常用业务场景
2017年的最后一周,又拍云进行了一次重要升级,将自定义 Rewrite 升级为"边缘规则".互联网应用场景的日益多样化,简单.方便.快速的根据不同应用场景实现不同的功能变得越来越 ...
- windows系统下使用cd命令
如果要切换到D:\Program Files目录下,大多数人会想当然的在命令行窗口输入 cd D:\Program Files回车. 如下所示: 发现并没有切换到D:\Program Files. 正 ...
- 【APS.NET 框架系列】浅谈ASP.NET 框架
本篇文章稍微偏原理且底层,有一定难度和且比较晦涩. 本篇文章主要是从广度上概括一下,具体的更细粒度的,会在后续的文章中,结合具体的Demo实例分析. 一 .NET框架概述 1.作用:提供了基于. ...
- IE8及其以下浏览器关于圆角表框的问题
css部分 yuan { border: 2px solid #C0C0C0; -moz-border-radius: 50%; -webkit-border-radius: 50%; border- ...
- linux rsync服务
1.rsync介绍rsync是一个开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,rsync软件适用于nunix/linux/windows多操作系统上运行.官方网站:h ...
- 千万别在开发阶段用 uglify 插件了!(from Requirejs to Webpack)
webpack 各种好用,打算把 sf.gg 的前端构建工具从 gulp+requirejs 尝试着迁移到 webpack,没想到刚迈出第一步随即翻车. 因为 sf.gg 本质是个后端路由项目,每个页 ...
- (๑•̀ㅂ•́)و✧随笔总目录ヾ(≧▽≦*)o
SSM整合进阶篇 日常手记 开源博客My Blog系列 短信接口攻击事件 读书笔记 SSM整合优化篇 SSM整合基础篇 SSM整合进阶篇 Spring+SpringMVC+MyBatis+easyUI ...
- DOM拓展
DOM拓展 1.选择符API 所谓选择符API即是根据css选择符选择与某个模式相匹配的DOM元素,jQuery的核心就是通过css选择符查询DOM文档取得元素的引用,从而抛弃了原有繁琐的getELe ...