首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GUID创建ActiveXObject

从GUID创建ActiveXObject
EN

Stack Overflow用户
提问于 2013-12-18 22:08:43
回答 2查看 8.3K关注 0票数 1

我的代码中有下面这一行:

代码语言:javascript
复制
var ScreenRecorder = new ActiveXObject('CCScreenRecorder.ScreenRecorder');

问题是我有两个条目

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

所以我想从GUID创建ActiveXObject

我试着去做:

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

但问题是,只有在SetTimeout或其他操作之后才会定义ScreenRecorderWrapper

我可以从它的GUID而不是它的名称来获取ActiveXObject吗?

类似于:

代码语言:javascript
复制
var ScreenRecorder = new ActiveXObject('37CCF668-3BB7-4F8A-9D9F-EF391543E94A');
EN

回答 2

Stack Overflow用户

发布于 2013-12-19 02:56:31

ActiveXObject需要ProgID,但是您可以使用依赖于版本的ProgID而不是独立于版本的ProgID。

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

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

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

票数 0
EN

Stack Overflow用户

发布于 2013-12-19 21:39:08

使用注册表从CLSID获取ProgId。可以通过“外壳”ActiveX读取JS中的注册表

代码语言:javascript
复制
var shellObj = new ActiveXObject("WScript.Shell");
var clsid = "37CCF668-3BB7-4F8A-9D9F-EF391543E94A";
var progid = shellObj.RegRead("HKEY_CLASSES_ROOT\\CLSID\\{"+clsid+"}\\ProgID\\");
var ScreenRecorder = new ActiveXObject( progid );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20660361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档