Отключается компонент-сценарий так же просто, как и регистрируется. Снова нужно выделить в Проводнике Windows WSC-файл, щелкнуть правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Отключить (Unregister). При этом из системного реестра записи об этом объекте будут удалены, после чего выполнится функция Unregister() (рис. 10.11).
Рис. 10.11. Информация об отключении компонента-сценария DateArc.WSC
Реализация объекта DateArc.wsc на VBScript
Различие между компонентами-сценариями, написанными на языках JScript и VBScript, проявляется только в секции <script> WSC-файлов. Во-первых, естественным образом меняется синтаксис описанных внутри контейнера <script> функций. Во-вторых, в WSC-файле, написанном с помощью VBScript, отсутствует описание внутреннего объекта, который генерируется программой Windows Script Component Wizard и имеет поля и методы, совпадающие с объявленными внутри элемента <public> (см. листинг 10.3).
Объяснение этому очень простое — в VBScript нельзя создавать свои внутренние объекты.
Полностью содержимое файла DateArcVB.wsc, который реализует СОМ-объект DateArc.WSC с помощью VBScript, приведено в листинге 10.5.
<?xml version='1.0' encoding='windows-1251'?>
<component>
<registration description='DateArc' progid='DateArc.WSC'
version='1.00' classid='{424ac2bc-5732-4dea-be17-0211af99cd79}'>
<script language='VBScript'>
<![CDATA[
Dim WshShell
Function Register()
'Создаем объект WshShell
Set WshShell = CreateObject('WScript.Shell')
WshShell.Popup 'Компонент зарегистрирован в системе',0,_
'Компонент для архивирования файлов',vbInformation
End Function
Function Unregister()
'Создаем объект WshShell
Set WshShell = CreateObject('WScript.Shell')
WshShell.Popup 'Компонент удален из системы',0,_
'Компонент для архивирования файлов',vbInformation
End Function
]]>
</script>
</registration>
<public>
<property name='SFrom'>
<get/>
<put/>
</property>
<property name='SArch'>
<get/>
<put/>
</property>
<property name='SPref'>
<get/>
<put/>
</property>
<property name='SMask'>
<get/>
<put/>
</property>
<property name='SErrMess'>
<get/>
</property>
<method name='FilesToArchiv'>
</method>
</public>
<script language='VBScript'>
<