首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

急需一针见血的回答

2013-03-06 
需要一针见血的回答。我只是一个C业余爱好者。最近碰到一些关于ActiveX的疑惑,网上找资都说得云里雾里的,不

需要一针见血的回答。
我只是一个C业余爱好者。最近碰到一些关于ActiveX的疑惑,网上找资都说得云里雾里的,不知道再学习ActiveX的相关技术是否会有太大的学习成本,固请前人指点。

1、ActiveX,可不可以黑盒调用?看了一些教程,说是基于com设计的,所有需要类似IDL、TDL之类的东西。完全没有,如果可以黑盒调用,那我就不用去学它了。

2、如果不可以黑盒调用,能不能从javascript的原码中逆向找到调函数接口(目前我只能从javascrip的代码阅读中找到函数接口。)。

真心决得再学个com框架、模式,太累了。求前人,点解。
[解决办法]
什么是黑盒调用?
js调用activeX很简单的
用oleview 就能看到方法名及参数,要是看不到的话,那就只能看js代码找到对应的方法名和参数。

[解决办法]
vc6:
Tools->OLE/COM Object Viewer
Tools->Activex Control Test Container
[解决办法]
如果你有头文件等,那么就知道怎么调用,这个也是一般给调用者的集成方式
或者就是参考Javascript,通过ActiveX对象来调用方法
[解决办法]
既然是ocx一般都是自描述的带tlb资源,oleview能看见IDL定义
在vc中用 #import指令编译器会帮你把tlb转换成方便C++使用的头文件

另外从xp开始支持RegFree COM,不需要人工DllGetClassObject,添加manifest指定到com dll,会首先使用指定的组件,如果失败才借助注册表

热点排行