在 Silverlight 或 Javascript 中确定 ActiveX 控件的版本

Determining an ActiveX control's version in Silverlight or Javascript

本文关键字:ActiveX 控件 版本 Silverlight Javascript      更新时间:2023-09-26

我正在寻找一种方法来确定

a( 用户是否安装了特定ActiveX control,以及

b( 该控件的versionJavascriptSilverlight

中是什么。

我使用以下javascript代码来确定控件是否存在:

        var activex;
        try {
            activex = new ActiveXObject('SomeProgId');
        } catch(e) {
            activex = null;
        }
        if (activex) {
            alert("found");
        } else {
            alert("not found");
        }

这似乎工作得很好。

但是我认为无法从该activex object访问任何版本属性(或任何属性(。

我需要知道用户拥有哪个版本,以确定是否需要重定向他们才能安装新版本?

任何关于同样的想法都是值得赞赏的。

据我所知,除非它作为对象接口上的属性公开,否则无法获取版本信息。

话虽如此,您可以通过在 OBJECT 标记的 CODEBASE 属性中的#version=后包含一个版本说明符来解决此问题。如果未满足版本测试,对象标记将提示用户升级控件。

有关更多详细信息,请参阅 http://msdn.microsoft.com/en-us/library/941zhks9(v=vs.80(.aspx。