DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

. 关于ActiveX

    ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡SunMicrosystems的JAVA技术而提出的,此控件的功能和JAVAapplet功能类似。

 

二.   ActiveX的开发环境

基于ffmpeg的ocx开发使用了visual studio 2010环境作为编译平台,因为vs平台提供了良好的开发ocx类库支持,已经所用到的MFC框架。Vs提供的类向导工具能够帮助开发者提供快速的事件添加机制。

 

三.   Ocx与web的关系

Ocx被叫做插件(控件),因为其体积小,几乎不受运行环境影响,所以常被当做浏览器中的客户端使用,而且它能够自动提醒用户更新。Ocx被web调用的格式一般为:

<head>
</head>
<body>
      <div>


 <OBJECT ID="MyActiveX1" WIDTH=400 HEIGHT=300

 classid="CLSID:E6FB5690-0648-4DBC-8571-B57BE03B80EB"

 CODEBASE="XXX.cab">  

</OBJECT>

 

  </div>
 </body>
</html>

其中classidvsocx生成的ID号,可以通过vs提供的OLEVIEW.EXE工具获得。Codebase属性为.cab文件所在路径,cabocx经过打包,将ocx的依赖项一起打包成.cab格式文件。Ocx的依赖文件可以通过vs提供的DEPENDS.EXE工具获得。打包要用到的几个工具可以从网上下载,并且.inf文件的格式网上也有很多介绍。

通常ActiveX控件在开发并注册后,一旦在网页中运行,IE并不认为这是一个脚本安全的,会弹出一个IE提示:已经阻止此站点以不安全的方式使用ActiveX控件,这个不要紧,点第一项安装一下就ok了。

 

四.   Ocx的接口

Ocx的接口是为了web与ocx控件进行交互开发的,函数的生成可以使用vs提供的类向导选项创建。在web中可以使用jsp等一些脚本语言调用。

 

五.   Ocx开发注意事项

1.      要想使mfc窗口嵌入到web程序,必须设定mfc窗体的style属性为child

2.      visible属性为TRUE,否则窗体不显示。

3.     编译的时候可能报类似错误:

error MSB8011:\uinput2?eoB请尝试启用pgpdeuhC?O使gpn!IAC?sn|??e该组?B

这个没关系,ocx已经生成成功,只不过编译器没用成功注册而已,可以手动注册。

4.      Ocx的手动注册为在命令行运行窗口输入 regsvr32 然后将需要注册的ocx文件拖入到输入框,然后回车就可以注册成功,如果没有成功,请将ocx的依赖项添加到oxc所在的文件夹。

5.      ocx的卸载,同注册类似,只不过在regsvr32 后面再加入一个参数 /u即可。

6.      ocx不能单独运行,所以需要调试可以使用web载入ocx或者使用vs提供的工具:TSTCON32.EXE,这个工具在2010里面也有,不过需要进行编译代码才能生成。可以使用vc6.0安装目录下的以上调试工具。

posted on   DoubleLi  阅读(6809)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示