参考文章:http://wenku.baidu.com/link?url=MLGQojaxyHnEgngEAXG8oPnISuM9SVaDzNTvg0oTSrrJkMXIR_6MR3cO_Vnh-grkUekLw2CSnQlE2ni5P-CzCCyI36fnNFFl_BkbEbMomP_ (MSComm在VS2010中的实现过程)
http://hi.baidu.com/fuanhong/item/99b53db951d13c7f254b09fd (解决WIN7系统中VS2010不能使用MSCOMM控件)
1、VS2010没有自带MSCOMM控件,首先在该页面下载MSCOMM控件包:http://download.csdn.net/detail/rabbit200808/3236756
2、下载完毕后,把包里的所有文件拷贝到系统目录c:windowssyswow64下(win 7系统);c:windowssystom32(XP系统)。
(注:本人的系统为win7但目录却为:e:windowssystom32)
3、找到e:windowssystom32下的CMD.exe,(采用管理员模式运行),运行后输入regsvr32 e:windowssyswow64mscomm32.ocx会提示注册成功。见下图:
4、点开始->所有程序->附件->运行,输入regedit,启动注册表管理器,在其中找到HKEY_CLASSES_ROOT项下的Licenses项,在其中建立主键4250E830-6AC2-11cf-8ADB-00AA00C00905,键值为kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。如果不做这一步会导致在VS2010中报授权错误。其实也可以用记事本打开下载包中的MSCOMM.SRG文件,就可以看到相关内容。见图
(注:这一步可以不要。本人没有这一步,照样可以建立成功)
5、在对话框资源项中,右击,选择插入ActiveX控件,找到所需要的控件,添加即可。
添加成功后,如图所示:
6、然后按照前一贴的内容,添加成员变量以及事件处理程序。
1: BEGIN_EVENTSINK_MAP(CMSCommDlg, CDialogEx)
2: ON_EVENT(CMSCommDlg, IDC_MSCOMM1, 1, CMSCommDlg::OnCommMscomm1, VTS_NONE)
3: END_EVENTSINK_MAP()
4:
5:
6: void CMSCommDlg::OnCommMscomm1()
7: {
8: // TODO: 在此处添加消息处理程序代码
9:
10:
11: }
12:
13:
14: void CMSCommDlg::OnBnClickedButton1Send()
15: {
16: // TODO: 在此添加控件通知处理程序代码
17: }