1,用vs2010 新建一个 mfc activeX 工程,采用默认的方式生成 ocx控件
2,regsvr32 xxx。ocx
3,在activeX control test container 中可以显示出来,默认的话是个椭圆。
4,编写html如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>test</title>
</head>
<div id ="video1">
<OBJECT CLASSID="CLSID:xxxxx"  WIDTH=720 HEIGHT=700 align="absmiddle" ID="zzz">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="19045">
<PARAM NAME="_ExtentY" VALUE="11478">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
</div> </body>
</html>
5,把html 放到 web服务器目录下。(服务器是apache,在同一台电脑虚拟机ubuntu上的)最后在客户机上输入ip打开这个html ,发现显示红x,降级ie安全等级或者允许所有关于active控件的行为,都不行。使用别人编译好的ocx和相应的uuid是可以显示出来的。ps: CLSID:xxxxx 也认真的对过,也在客户机上手动注册并成功了。这个问题困扰了好久,希望高手们能指点迷津! 谢谢啊

解决方案 »

  1.   

    可以先在本机上测试看看clsid是否填对了,然后有需要的话,要把组件打包为cab文件
      

  2.   

    貌似解决了。我之前是在win7 64 位 里面用vs2010 来编译一个默认ocx控件的。因为在regsvr32 xxx.ocx的时候,win7由于权限的问题是不成功的。我就改到虚拟机的xp系统里面注册。发现死活都不行。刚在win7下以管理人员身份运行cmd ,注册成功后,再打开网页发现,发现那个椭圆显示出来了。具体什么原因,不知道。 引出了个问题,开发出来的mfc控件,跟微软的操作系统都兼容的吧?ie浏览器的版本,32位,67位,xp 等等。这些有哪些要注意的?我之前是做linux下开发的,现在改为window,对window一窍不通。