Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Всё о работе в Интернет" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Секреты Windows: статьи о реестре, rundll32.exe, программах
Приложение D. Использование ActiveX-объектов. Начало Полезные ссылкиЕсли не предпринять правильных действий, секретность Вашей личной информации на компьютере совсем не гарантируется. Ваши файлы предельно доступны даже для просто любителей чужой информации, не говоря уже о профессиональных взломщиках компьютеров. Реальная конкурентоспособность любой компании нередко определяется тем, насколько внимательно в ней относятся к защите конфиденциальной информации. Программа”LABITAP_Cryptograph” обеспечит Ваш компьютер такой защитной системой, которая по стандартам сравнима с системой ФБР. Подробности: http://sites.google.com/site/labitap/Home История развития ActiveX-объектов начинается еще в 1991 году. Именно в этот год появилась такая технология, как OLE. OLE представляет собой специальные объекты, предназначенные для выполнения операций связывания и внедрения. Уже в 1993 году появилась вторая версия объектов OLE, которая вобрала в себя понятия нескольких технологий, основанных на модели COM (модель компонентного объекта, предназначенная для создания и редактирования компонентных объектов). Особенностью модели COM является независимость COM-объектов от используемого в их создании языка программирования. Например, если раньше какой-то класс был создан при помощи языка C++, то для него приходилось писать дополнительные классы на этом же языке. COM-объект же преобразуется в промежуточный бай-код, который не зависит от языка программирования, на котором был изначально написан COM-объект. Второй же особенностью COM-объектов является то, что они будут одинаково работать, независимо от того, находятся они на локальном компьютере или на удаленном. Все эти особенности COM-объектов переняли и OLE-объекты второй версии. Через три года, в 1996 году, на свет появилась технология ActiveX. ActiveX-объекты представляют собой полностью скомпилированные программы, которые не могут быть запущены непосредственно пользователем, но могут запускаться браузером Internet Explorer, самой операционной системой, или любой другой программой. Несмотря на то, что корпорация Microsoft позиционирует ActiveX-объекты как совершенно новую технологию, она является развитием OLE-объектов, и переняла от них основные функции и возможности. Каждый ActiveX-объект должен содержать подпись своего создателя, которая производится одним из центров сертификации, и гарантирует, что данный ActiveX-объект не выполняет никаких вредоносных или подозрительных действий. Каждый ActiveX-объект имеет уникальный идентификатор, называемый CLSID-номером, который позволяет идентифицировать ActiveX-объект среди других ActiveX-объектов. CLSID-номера ActiveX-объектов строятся на основе даты создания объекта, случайного числа и конфигурации компьютера. Эти имена состоят из 32 чисел в шестнадцатеричной системе исчисления. Первые восемь чисел генерируются случайным образом. Следующие четыре числа создаются на основе текущей даты и времени. Остальные числа генерируются на основе конфигурации компьютера. Все ActiveX-объекты, чтобы ими можно было пользоваться, должны быть описаны в дочернем подразделе ветви реестра HKCR\CLSID. Данный подраздел реестра содержит в себе набор подразделов, названных в честь CLSID-номеров ActiveX-объектов. В этих подразделах как раз и описываются настройки конкретных ActiveX-объектов. Но для чего же используются ActiveX-объекты? В операционной системе Windows Vista с помощью ActiveX-объектов можно сделать следующее: специальную вкладку диалога СВОЙСТВА файлов определенного расширения, специальную команду контекстного меню файлов определенного расширения или различных элементов операционной системы Windows, специальный значок с расширенными возможностями настройки, надстройки для операционной системы или сторонних программ и т.д. В контексте данной книги мы сконцентрируемся на описании стандартных ActiveX-объектов операционной системы и на их использовании, и только поверхностно рассмотрим создание простых ActiveX-объектов, не требующих знания языков программирования. Структура подразделов реестра, определяющих ActiveX-объектыНо перед тем, как начать описание существующих ActiveX-объектов, необходимо хотя бы поверхностно знать структуру подразделов реестра, определяющих ActiveX-объекты, и параметры, хранящиеся в них. Параметры подраздела ActiveX-объектаСведения обо всех ActiveX-объектах, зарегистрированных в операционной системе, содержатся в ветви реестра HKCR\CLSID. Каждый подраздел данной ветви реестра определяет настройки одного ActiveX-объекта. Данный подраздел назван в честь CLSID-номера ActiveX-объекта. Подраздел реестра HKCR\CLSID\{CLSID-номер ActiveX-объекта} может содержать в себе следующие параметры.
Некоторые подразделы, которые могут находиться в подразделе ActiveX-объектаТакже в подразделе ActiveX-объекта могут находиться дочерние подразделы. Подраздел DefaultIconПараметр по умолчанию данного подраздела позволяет указать путь к файлу изображения, которое будет использоваться в качестве иконки значка ActiveX-объекта (если ActiveX-объект создает значок). Подраздел ShellДанный подраздел определяет команды контекстного меню соответствующего ActiveX-объекта. Параметр по умолчанию данного подраздела может содержать либо название команды, которая будет выполняться при двойном щелчке мышью на значке ActiveX-объекта, либо перечисление последовательности всех команд через запятую. В этом случае определяется расположение команд контекстного меню. Подраздел shell содержит в себе дочерние подразделы, каждый из которых определяет название одного элемента контекстного меню. Параметр по умолчанию этих подразделов определяет название команды, отображаемое в контекстном меню значка ActiveX-объекта. Если же параметр по умолчанию подраздела будет пуст, тогда именно название подраздела и будет отображаться в контекстном меню значка ActiveX-объекта. И, наконец-то, в подразделе названия элемента контекстного меню должен содержаться подраздел command, параметр по умолчанию которого как раз и содержит в себе команду, которая будет выполняться при выборе соответствующего элемента контекстного меню. Подраздел ShellExКроме подраздела shell в подразделе ActiveX-объекта может находиться еще один подраздел, содержимое которого влияет на контекстное меню значка ActiveX-объекта — подраздел shellex. Данный подраздел содержит в себе дополнительные команды контекстного меню, которые при своей работе вызывают другие ActiveX-объеты. Подраздел shellex должен содержать в себе другие подразделы, которые, в свою очередь, должны содержать подразделы с названием CLSID-номера ActiveX-объекта, вызываемого при помощи соответствующей команды контекстного меню. В зависимости от названия подраздела, являющегося дочерним по отношению к подразделу shellex, изменяется и результат выполнения ActiveX-объекта. Ниже описаны основные подразделы, дочерние к подразделу shellex.
Добавление вкладок к диалогу PropertiesКак мы уже знаем, сведения об этих ActiveX-объектах, добавляющих вкладки к диалогу PROPERTIES, должны содержаться в ветви реестра HKCR\CLSID\{CLSID-номер ActiveX-объекта}\shellex\PropertySheetHandlers (или, если нужно добавить вкладку к диалогу PROPERTIES для файла стандартного расширения, в ветви реестра HKCR\«идентификатор файла»\shellex\PropertySheetHandlers). Стандартные ActiveX-объектыА теперь давайте рассмотрим стандартные ActiveX-объекты операционной системы Windows Vista, которые добавляют новые вкладки к диалогу PROPERTIES файлов или значков ActiveX-объектов.
По умолчанию вкладка PREVIOUS VERSION добавляется к файлам всех типов расширений при помощи ветви реестра HKCR\AllFilesystemObjects\shellex\PropertySheetHandlers.
Пример добавления вкладокВ качестве примера давайте создадим свое собственное расширение файла, добавим к его диалогу PROPERTIES набор основных вкладок, после чего попробуем взглянуть на результат нашей работы. Шаг 1. Создание нового расширения файлаПервый шаг реализации нашего примера является наиболее творческой задачей — нам нужно придумать новое расширение, создание файлов которого мы зарегистрируем в операционной системе. Стало традицией создавать расширения файлов, состоящие из 3 символов (реже из 4 или 2), мы же с вами создадим расширение из 4 символов (чтобы вероятность совпадения нашего расширения с уже существующим расширением была минимальной). Например, создадим файлы с расширением .para. Итак, результат действий, которые нужно выполнить для создания своего расширения, представлен на листинге 9.4 в виде reg-файла. Листинг 9.4. REG-файл двух ветвей реестра, регистрирующих новое расширение REGEDIT4 [HKEY_CLASSES_ROOT\.para] ="parafile" [HKEY_CLASSES_ROOT\parafile] "NeverShowExt"="" ="Test-File" [HKEY_CLASSES_ROOT\parafile\shellex] [HKEY_CLASSES_ROOT\parafile\shellex\PropertySheetHandlers] Шаг 2. Добавление вкладок к диалогу PropertiesДля примера давайте добавим следующие стандартные вкладки к диалогу нашего расширения файлов.
Для выполнения этого шага вам достаточно создать в ветви реестра HKCR\parafile\shellex\PropertySheetHandlers дочерние подразделы {645FF040-5081-101B-9F08-00AA002F954E} и {6D5313C0-8C62-11D1-B2CD-006097DF8C11}. Шаг 3. Проверка результатовЧтобы проверить результат нашего творчества, достаточно создать обычный текстовый файл (либо любой другой), после чего изменить расширение .txt этого файла на расширение .para. После этого, как вы это сделаете и зайдете в диалог Properties для созданного файла, перед вами отобразится диалог, представленный на рисунке 9.01. Рис. 9.01. Добавление дополнительных вкладок к диалогу Properties Продолжение следует Рейтинг: 5.00 [ 2 ]
Оцените: 1 2 3 4 5 moemesto.ru bobrdobr.ru
- добавить в социальные закладки
В начало записиОригинал статьи: http://www.onestyle.com.ua/txt.php?u=556
|
В избранное | ||