如何以编程方式确定是否已安装ActiveX控件,以及是否已禁用它或ActiveX作为整体?

时间:2009-09-14 21:44:59

标签: asp.net javascript activex

我在服务器端使用ASP.NET,在客户端使用JavaScript。

我正在尝试开发一些可以帮助用户排除故障的页面,我想知道是否有办法以编程方式确定以下内容:

  1. 如果在Internet Explorer中禁用了ActiveX
  2. 如果已安装ActiveX控件
  3. 如果已安装ActiveX控件但已禁用
  4. 对于案例2和3,我知道为了检测安装了ActiveX控件,您将在JavaScript中使用以下检查:

    function isActiveXControlInstalled(progId, expectedVersion)
    {
        var version;
        try
        {
            var instance = new ActiveXObject(progId);
            version = instance.VersionString;
            instance = null;
        }
        catch (e)
        {
           version = null; // Set version to null, since that is an invalid control version, and the check below will always fail.
        }
    
        return (version >= expectedVersion);
    }
    

    但是,在安装控件但已禁用的情况下,此函数也会返回false。这两种情况可以区分吗?

1 个答案:

答案 0 :(得分:0)

没有。我认为如果它已安装但已禁用,您将无法从您的应用程序中分辨出来。您可以考虑将故障排除页面中的措辞更改为“未安装或已禁用”。

相关问题