如果你正在使用2010,并且想用mscomm控件,遇到如下问题,那你可以看看这篇文章:

1. 添加了mscomm控件以及对应的控件变量以后发现以前mscomm的成员函数,类似setsettings(),commport(),都不见了

2. 在类向导里添加了消息响应函数OnMscomm之后无法进入。

1. 首先,2010不支持mscomm控件,所以要注册mscomm控件,我看了两篇文章,都按照做了

http://hi.baidu.com/shareshow/item/6f8d48f60cd5d7d642c36ae7

简单来说,就是下载控件,注册控件,修改注册表

第一步:下载MSComm控件

下载地址:

第二步:注册组件

压缩包内包含四个文件:

MSCOMM.SRG

MSCOMM32.DEP

MSCOMM32.oca

mscomm32.ocx

复制到系统盘的C:\Windows\System32(WIN7系统)。

然后在运行里,输入:

Regsvr32  C:\winnt\system32\Mscomm32.ocx

然后会看到以下提示,说明注册成功了

sse 如何接收数据axios_控件

第四步:修改注册表

在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表

找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键

  4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:

         kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

至此,mscomm控件注册完毕!


接下来就是如何在工程里添加mscoom控件了。

第一步:在工具箱的下图这个位置右键,选择choose item

sse 如何接收数据axios_sse 如何接收数据axios_02

第二步:在弹出的组件栏里选择“COM Components”下的"Microsoft communication control 6.0",然后工具箱里就会有一个电话图标了

sse 如何接收数据axios_控件_03

第三步:添加控件,也就是把电话图标拖到对话框里,并添加控件变量

添加空间以后,在控件上面右键,然后选择“add variable”,这个时候请特别注意,下图两个红框里面的文件会被自动添加到工程,并且文件名都带“1”.如果你的工程里没有自动添加,或者文件名后面不带“1”,那么出错的可能性就很大了。网上有种帖子说,用右键工程-->添加MFC类-->添加ActiveX的MFC类-->添加mscomm类定义,这样添加出来的文件个人实验下来是不带“1”的。我也不知道为什么,这两种方法大概都可以,有空的话你可比较一下带“1”和不带“1”的两个cpp文件和h文件的区别。

sse 如何接收数据axios_右键_04


第四步:添加消息响应函数

在控件上右键-->添加事件handle-->添加响应函数

sse 如何接收数据axios_右键_05

这样添加以后cpp文件里会自动多出来以下代码

[cpp] 
view plaincopyprint?

1. BEGIN_EVENTSINK_MAP(CMscommTest3Dlg, CDialogEx)  
2.     ON_EVENT(CMscommTest3Dlg, IDC_MSCOMM1, 1, CMscommTest3Dlg::OnCommMscomm1, VTS_NONE) 

3. END_EVENTSINK_MAP()  
4.   
5.   
6. void CMscommTest3Dlg::OnCommMscomm1() 

7. {  
8. // TODO: Add your message handler code here 

9. }
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的奇妙功能吧~~