if (!CheckPath()) return false;
//Создаем объект FileSystemObject
FSO=new ActiveXObject('Scripting.FileSystemObject');
//Создаем объект WshShell
WshShell = new ActiveXObject('WScript.Shell');
//Формируем имя файла-архива
SFName=SPref+NowIs()+'.arj';
//Формируем командную строку для запуска архиватора arj.exe
SComLine='%COMSPEC% /c arj.exe a ';
SComLine+=FSO.BuildPath(SArch,SFName)+' ';
SComLine+=FSO.BuildPath(SFrom,SMask);
//Запускаем архиватор arj.exe
RetCode = WshShell.Run(SComLine, 1, true);
//Анализируем код возврата для arj.exe
if (0==RetCode)
//Выполнение arj.exe завершилось без ошибок
return true;
else {
//Формируем строку с информацией об ошибке
SErrMess='Ошибка ARJ.EXE! Код '+RetCode;
return false;
}
}
]]>
</script>
</component>
Регистрация файла DateArc.wsc в качестве СОМ-объекта
После написания текста объекта-сценария нужно внести информацию о нем в системный реестр, т.е, зарегистрировать объект. Это можно сделать несколькими способами, самый простой из которых заключается в следующем. Нужно выделить в Проводнике Windows необходимый WSC-файл с компонентом-сценарием (в нашем случае это файл DateArc.wsc в каталоге C:WSC), щелкнуть правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Подключить (Register) (рис. 10.7).
Рис. 10.7. Контекстное меню, сопоставленное расширению WSC
После этого необходимая информация запишется в реестр и выполнится функция Register()
, которая описана в файле DateArc.wsc внутри элемента <registration>
, в результате чего на экран будет выведено диалоговое окно, показанное на рис. 10.8.
Рис. 10.8. Информация о регистрации компонента-сценария DateArc.WSC
В системном реестре данные о регистрируемом объекте DateArc.WSC
заносятся в две ветви: HKEY_LOCAL_MACHINE
и HKEY_CLASSES_ROOT
.
В разделе HKEY_LOCAL_MACHINESOFTWAREClasses
создается новый подраздел DateArc.WSC
со значением по умолчанию 'DateArc
'. В подразделе DateArc.WSC
в параметр CLSID
записывается глобальный код объекта DateArc.WSC
— '{424AC2BC-5732-4DEA-BE17-0211AF99CD79}' (рис. 10.9).
Рис. 10.9. Информация о зарегистрированном объекте DateArc.WSC в ветви HKEY_LOCAL_MACHINE
В разделе HKEY_CLASSES_ROOTCLSID
создается новый подраздел, название которого совпадает с глобальным кодом объекта DateArc.WSC — '{424AC2BC-5732-4DEA-BE17- 0211AF99CD79}'. Значением по умолчанию для нового подраздела является 'DateArc' (рис. 10.10).
Рис. 10.10. Информация о зарегистрированном объекте DateArc.WSC в ветви HKEY_CLASSES_ROOT
В новом разделе создаются, в свою очередь, еще несколько подразделов, значения которых очень важны для функционирования компонента-сценария в качестве СОМ-объекта
DateArc.WSC
Название | Значение по умолчанию | Описание |
---|---|---|
InprocServer32 | 'F:WINDOWSSystem32scrobj.dll' | Полный путь к оболочке компонентов-сценариев scrobj.dll |
ProgID | 'DateArc.WSC.1.00' | Программный идентификатор объекта, включающий номер версии |
ScriptletURL | 'file://C:WSCDateArc.wsc' | Полный путь к WSC-файлу |
VersionIndependentProgID | 'DateArc.WSC' | Программный идентификатор объекта без номера версии |