JS 判断系统是否注册ocx控件

时间:2022-04-19 08:57:41

  最近在做视频监控的二次开发,自然而然会涉及到了ocx控件。项目中要实现一个需求:如果系统注册了ocx控件就不提示下载信息,反之就提示下载ocx控件信息。

网络上也搜索了很多信息。

方法一:1 在注册表HKEY_LOCAL_MACHINE-> SOFTWARE->Classes->CLSID->classes中找,找得方法是搜索command+F 搜索OCX

       会出现ProgID 双击获得数值数据。

    2  直接通过js 代码就可以判断了

      try{   

            var   obj = new ActiveXObject("数值数据"); 

            alert("已经注册");

        }   catch(e) {   

             alert("没有注册");

        } 

 总结:这种方法的缺点 因为ocx是没有认证的activeX控件,IE是禁止的,所以要设置IE浏览器的安全设置。具体怎么设置百度下http://blog.csdn.net/patern_pan/article/category/1142183

这种方法对应用户来说体验是很差的。要设置浏览器,再下载,还要在浏览器中找个半天。

方法二: 

    //JSP页面

    <object id="DPSDK_OCX" classid="CLSID:D3E383B6-765D-448D-9476-DFD8B499926D" ></object>

    //JS页面

    //我猜测这句话的意思是搜索注册表是否存在classid为D3E383B6-765D-448D-9476-DFD8B499926D的数据。说错了请大神指点

    if(document.all.DPSDK_OCX.object == null) { 
      alert("您未注册视频控件,请先下载注册!");
    } else {

      alert("已经注册");

    }

这种方法简单方便,推荐