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

时间:2019-04-14 16:15:31

标签: vbscript com xshell

我想在vbscript中使用xshell库,但是当我使用createObject()创建对象失败时,如何从Xshell应用程序提供的类型库中创建对象?

我猜xshell可以很好地注册到系统,因为我可以通过'tools-> reference->“ Xshell 1.0 Type Library”在excel vba项目中添加一个引用,然后可以将dim xshell用作xshell。 ScriptHost和我可以从对象浏览器中找到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类.... {ProgID = s'Xshell.ScriptHost.1'....... ForceRemove'Programmable'... 。

我如何取消强行拆除?

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

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

     

ActiveX组件无法创建对象

1 个答案:

答案 0 :(得分:1)

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

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

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