参考文章: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:\windows\syswow64下(win 7系统);c:\windows\systom32(XP系统)。

    (注:本人的系统为win7但目录却为:e:\windows\systom32)

3、找到e:\windows\systom32下的CMD.exe,(采用管理员模式运行),运行后输入regsvr32 e:\windows\syswow64\mscomm32.ocx会提示注册成功。见下图:  

在VS2010中如何添加MSCOMM控件,实现串口通讯-LMLPHP

 

在VS2010中如何添加MSCOMM控件,实现串口通讯-LMLPHP

4、点开始->所有程序->附件->运行,输入regedit,启动注册表管理器,在其中找到HKEY_CLASSES_ROOT项下的Licenses项,在其中建立主键4250E830-6AC2-11cf-8ADB-00AA00C00905,键值为kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。如果不做这一步会导致在VS2010中报授权错误。其实也可以用记事本打开下载包中的MSCOMM.SRG文件,就可以看到相关内容。见图 

(注:这一步可以不要。本人没有这一步,照样可以建立成功)

在VS2010中如何添加MSCOMM控件,实现串口通讯-LMLPHP

5、在对话框资源项中,右击,选择插入ActiveX控件,找到所需要的控件,添加即可。

  在VS2010中如何添加MSCOMM控件,实现串口通讯-LMLPHP

添加成功后,如图所示:

在VS2010中如何添加MSCOMM控件,实现串口通讯-LMLPHP

 

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:  }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

04-27 17:05