Нужна помощь в понимании и использовании файлов wsc на win64bit

Я начал возиться с созданием WSC-файлов для моих VBS-скриптов, но есть пара вещей, которые я не совсем понимаю и работаю здесь...

например, getObject не работает:

test.WSC:

<?xml version="1.0"?>
<component>
<registration
description="MyTest"
progid="My.Test"
version="1.00"
classid="{38b3dd76-c4ee-44d0-978e-4ce2d7e14b0f}"
>
</registration>

<public>
<method name="msg">
<PARAMETER name="this"/>
</method>
</public>

<script language="VBScript">
<![CDATA[

sub msg(this)
msgbox this
end sub

]]>
</script>
</component>

VBScript (в той же папке)

set x = getObject("test.wsc")
x.msg "hello world!"

если я запускаю это, я получаю эту ошибку: требуется объект VBScript: x, код: 800A01A8

также возможно ли вызывать методы в "scriptlet.tlb" из vbscript? Любая помощь приветствуется:)

1 ответ

Решение

Без регистрации вы должны использовать скрипт скрипта:

set goFS = CreateObject("Scripting.FileSystemObject")
sFSpec = goFS.GetAbsolutePathName(".\test.wsc")
set x = getObject("script:" & sFSpec)
x.msg "hello world!"

изучать WSC (Windows Script Components) без регистрации!

С регистрацией - сохраняйте

progid="My.Test"

в уме.

Другие вопросы по тегам