背景:以前在VC++6.0环境下有一个校表台程序,现在将这个程序移植到win10 64位系统vs2017开发环境下,在打开mfc主框架的时候提示未能实例化3个Activex控件。
解决办法:
1、先在虚拟机中win7系统下安装了vc++6.0,将这个程序在vc6.0工程中打开,并运行,没有问题,再打开主mfc框架发现里面用了3个串口控件,有3个电话一样的图标,初步确认了是因为没有注册串口控件的问题。
2、网上下载了MSCOMM32.ocx控件,64位的win10系统需要将MSCOMM32.ocx控件复制到C:\Windows\SysWOW64\目录下,否则后面注册会出错。如果是32位系统则放到C:\Windows\System32中。
3、在C:\Windows\SysWOW64里找到cmd.exe,右键以管理员身份运行,输入regsvr32 MSCOMM32.ocx,如下图:
提示注册成功。
4、若出现图中错误,则表示用户的权限不够,此时应按照上面的步骤打开dos界面
5、在vs2017中按照如下图示添加串口控件,在工具箱中就可以看到像电话一样的图标,这就是串口控件。