javascript - 从 GUID 创建 ActiveXObject

标签 javascript internet-explorer com activex activexobject

我的代码中有以下行:

var ScreenRecorder = new ActiveXObject('CCScreenRecorder.ScreenRecorder');

问题是我有 2 个这样的条目
(每个版本一个,不要问我为什么 - 这是我需要处理的事实),

所以我想从 GUID 创建 ActiveXObject

我尝试这样做:

document.createElement('<OBJ' + 'ECT ID="ScreenRecorderWrapper" CLA' + 'SSID="CL' + 'SID:37CCF998-3BB7-' + '4F8A-9D9F-EF391543E94A"></OB' + 'JECT>');
var ScreenRecorder = ScreenRecorderWrapper;

但问题是 ScreenRecorderWrapper 只会在 SetTimeout 或其他一些操作之后定义。

我可以从它的 GUID 而不是从它的名称中获取 ActiveXObject 吗?
类似于:

var ScreenRecorder = new ActiveXObject('37CCF668-3BB7-4F8A-9D9F-EF391543E94A');

最佳答案

ActiveXObject 需要 ProgID,但是,您可以使用与版本相关的 ProgID,而不是与版本无关的 ProgID。

版本相关的 ProgID 通常会在版本无关的 ProgID 后附加一个版本号。

在本例中,与版本无关的 ProgID 为 'CCScreenRecorder.ScreenRecorder',与版本相关的 ProgID 类似于 'CCScreenRecorder.ScreenRecorder.1''CCScreenRecorder.ScreenRecorder.2'

请注意,如果安装了错误的版本,则使用与版本相关的 ProgID 可能会失败。您可能想首先尝试与版本相关的 ProgID,然后回退到与版本无关的 ProgID。

关于javascript - 从 GUID 创建 ActiveXObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660361/

相关文章:

java - 如何在静态web项目中更改Intellij运行端口?

jQuery 验证在 IE7 + IE8 中不起作用

css - 背景图像未在 Chrome 或 IE 中显示

c++ - 为什么需要查询接口(interface)?

javascript - 取消 Rx Observable 间隔调用

javascript - 如何通过Webrtc API识别在线用户

html - 我无法让背景图像显示在 Internet Explorer 上

c# - 基于非零的多维数组

c - 纯 C 中的 Win32 COM 编程

php - EJS 有多大用处?