Книга: Windows Script Host для Windows 2000/XP
Технология Windows Script Components
Технология Windows Script Components
Сразу оговоримся, что мы будем рассматривать только объекты-сценарии, которые являются серверами автоматизации (т.е. предоставляют свои свойства и методы другим приложениям), не затрагивая вопросы разработки специальных объектов для использования внутри HTML- или ASP-страниц (Active Server Pages).
Механизм работы объектов-сценариев базируется на технологии ActiveX Scripting, основную роль здесь играет динамическая библиотека Scrobj.dll, которая является оболочкой компонентов-сценариев и отвечает за функционирование файла-сценария в качестве СОМ-объекта. С точки зрения технологии СОМ эта библиотека для объектов-сценариев действует как внутренний сервер (inprocess server). Другими словами, оболочка компонентов-сценариев Scrobj.dll отвечает за то, чтобы при вызове из внешнего приложения метода объекта-сценария или обращении к его свойству запускалась соответствующая функция, описанная в этом сценарии. Для этого на уровне операционной системы незаметно для самого объекта-сценария и для приложения, в котором создается экземпляр этого объекта, производятся следующие действия.
? При регистрации объекта-сценария в разделе HKEY_CLASSES_ROOTCLSID
системного реестра создается новый подраздел, название которого совпадает с глобальным кодом (CLSID) регистрируемого объекта. В этом новом разделе создается подраздел InprocServer32
, значением по умолчанию которого является полный путь к библиотеке Scrobj.dll. Кроме InprocServer32
, создаются подразделы ProgID
(программный идентификатор объекта) и ScripletURL
(полный путь к файлу объекта-сценария).
? Если создание экземпляра объекта из внешнего приложения происходит с помощью программного идентификатора (ProgID) объекта, то сначала определяется глобальный код (CLSID) этого объекта. Для этого в разделе реестра HKEY_LOCAL_MACHINESOFTWAREClasses
ищется подраздел с именем, которое совпадает с программным идентификатором объекта (этот подраздел создается при регистрации объекта-сценария), и в качестве глобального кода берется значение параметра CLSID
из этого подраздела.
? По известному глобальному коду объекта происходит поиск раздела с нужным названием в HKEY_CLASSES_ROOTCLSID
, после чего определяется значение подраздела InprocServer32
(путь к библиотеке Scrobj.dll) и загружается оболочка компонентов-сценариев Scrobj.dll.
? Библиотека Scrobj.dll загружает указанный в подразделе ScripletURL
файл со сценарием и перенаправляет вызовы методов объекта в этот сценарий.
Таким образом, нам остается лишь научиться правильным образом создавать файлы с исходным кодом компонентов-сценариев и регистрировать эти файлы в системе в качестве СОМ-объектов.
Компоненты-сценарии, реализованные в технологии Windows Script Components, представляют из себя файлы с расширениями wsc (WSC-файлы), которые содержат специальную XML-разметку (объектная модель WSC XML), к описанию которой мы и перейдем.
- InterBase Super Server для Windows
- Интеграция с платформой Windows NT
- Часы в Windows показывают неправильное время
- Классическая архитектура на Windows NT (Yaffil CS)
- 4.2. Центр уведомлений Windows 10
- 11.2. Технология принятия решения в условиях чрезвычайной ситуации
- Chapter 12. Debugging your scripts
- Chapter 14. Example scripts
- Appendix J. Example scripts code-base
- Загрузочные дискеты и Live CD для Windows
- 6.8. Разгон видеокарты на Windows 10
- rc.firewall.txt script structure