如何在vbscript中引用类型库(通常使用xshell库)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在vbscript中引用类型库(通常使用xshell库)相关的知识,希望对你有一定的参考价值。

我想在vbscript中使用xshell库,但是当我使用createObject()来创建它失败的对象时,我怎样才能从Xshell应用程序提供的类型库中创建一个Object?

xshell可以很好地注册到系统,因为我可以通过'tools-> reference - >“Xshell 1.0 Type Library”在excel vba项目中添加引用,然后我可以使用dim xshell作为xshell.ScriptHost和I可以从对象浏览器中找到Xshell信息。

enter image description here

我已经尝试过oleviwer找到有关Xshell 1.0类型库的一些信息,但实际上我找不到xshell的ProgID。

enter image description here enter image description here

我转向exeScope,我找到了一些有趣的enter image description here

在右侧窗口中,我们可以看到“ForceRemove {xxxx-xxxxxxxx-xxxx} = s'ScriptHost Class .... {ProgID = s'Xshell.ScriptHost.1'.... ForceRemove'Commandmable'....}

我怎么能取消强制删除?

dim xshell 
set xshell=CreateObject("C:Program Files (x86)Common FilesNetSarangXshellCore.tlb")
MsgBox "success"

运行错误,错误代码为“800A01AD”

ActiveX组件无法创建对象

答案

您无法从类型库创建COM组件实例。类型库是一个定义文件,它使用IUnknownIDispatch接口来描述它支持的COM对象库的对象,属性和方法。

它只是一个定义文件,不包含任何实现。如果要使用VBScript尝试使用XShell,则需要找到与应用程序关联的COM DLL。

如果XShell暴露给COM,它将在Windows注册表中注册一个ProgID。如果您可以使用regedit.exe等工具在注册表中找到ProgID,则可以使用以下检查列表来识别与其关联的DLL,并使用ProgIDCreateObject()来实例化COM组件的实例。


以上是关于如何在vbscript中引用类型库(通常使用xshell库)的主要内容,如果未能解决你的问题,请参考以下文章

在使用 CreateObject 从 VBScript 中通过 COM 引用 C++ DLL 时,如何处理 DLL 版本?

xshell如何导入.xsh 文件

小白学习C++ 教程二十三如何安装和使用 C++ 标准库

小白学习C++ 教程二十三如何安装和使用 C++ 标准库

你如何使用 Jasmine + Resharper 引用外部库

如何在作为协议类型的 Swift 通用数据结构中使用弱引用?