1、VS2008环境

2、创建MFC ActiveX控件

mfc写activeX插件,实现js调用c++函数

mfc写activeX插件,实现js调用c++函数

3、添加函数

  "右键_DActivexDemo" ==> "添加" ==> "添加方法"

mfc写activeX插件,实现js调用c++函数

添加函数返回值类型、函数名、函数参数类型 ,然后点完成

mfc写activeX插件,实现js调用c++函数

此时在ActivexDemoCtrl.cpp里面会自动生成一个AddFun函数,我们可以在这个函数中实现我们需要的功能;

mfc写activeX插件,实现js调用c++函数

4、修改属性

此时编译会报错 “error PRJ0050: 未能注册输出。请尝试启用“每个用户的重定向”,或者用提升的权限从命令提示窗口中注册该组件。”

这是因为编译的时候会自动注册ocx文件,但ocx文件需要管理员权限才能注册,所以此处将注册输出改为“否”,在编译的时候不注册ocx。此处比较坑。。。

mfc写activeX插件,实现js调用c++函数

5、注册ocx

使用管理员权限cmd注册ocx

mfc写activeX插件,实现js调用c++函数

6、到这一步,插件的基本完成,接下来就是使用js调用插件了,下面是一个测试页面

mfc写activeX插件,实现js调用c++函数

其中classid需要“右键ActivexDemo” ==> “属性”  来获取

mfc写activeX插件,实现js调用c++函数

7、效果

mfc写activeX插件,实现js调用c++函数

mfc写activeX插件,实现js调用c++函数

 

大功告成!不过ActiveX 只支持IE,所以只能用IE打开。。。

 

 

相关文章: