ocx开发小结 .

. 关于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安装目录下的以上调试工具。

原文地址:https://www.cnblogs.com/lidabo/p/2844746.html