Как ссылаться на библиотеку типов в vbscript (обычно с библиотекой xshell) - PullRequest
0 голосов
/ 14 апреля 2019

Я хочу использовать библиотеку xshell в vbscript, но когда я использовал createObject () для создания объекта, это не удалось, как я мог создать объект из библиотеки типов, предоставленной приложением Xshell?

Я думаю, xshell можно хорошо зарегистрировать в системе, поскольку я могу добавить ссылку в проект Excel vba с помощью 'tools-> reference -> "Библиотека типов Xshell 1.0", а затем я могу использовать dim xshell в качестве xshell. ScriptHost и я можем найти информацию Xshell из браузера объектов.

enter image description here

Я попытался oleviwer найти некоторую информацию о библиотеке типов Xshell 1.0, но на самом деле я не могу найти ProgID для xshell.

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' Programmable '... .}

как я могу отменить удаление силы?

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

ошибка выполнения с кодом ошибки "800A01AD"

Компонент ActiveX не смог создать объект

1 Ответ

1 голос
/ 15 апреля 2019

Вы не можете создать экземпляр компонента COM из библиотеки типов.Библиотека типов - это файл определения, который описывает объекты, свойства и методы библиотеки объектов COM, которую он поддерживает, используя интерфейсы IUnknown или IDispatch.

Это просто файл определения, который не содержитлюбая реализация.Если вы хотите попробовать и использовать XShell с использованием VBScript, вам нужно найти COM DLL, связанную с приложением.

Если XShell работает с COM, он зарегистрирует ProgID в реестре Windows.Если вы можете найти ProgID в реестре, используя такие инструменты, как regedit.exe, вы можете использовать следующий контрольный список для определения DLL, связанной с ним, и использовать ProgID с CreateObject() для создания экземпляра компонента COM.


...