Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах Книга Реестр Windows Vista. Работа с ActiveX-объектами


Есть вопросы по работе с Windows? Задайте их нам и нашим посетителям в разделе Форум (http://onestyle.com.ua/q.php). Возможно, мы сможем помочь вам решить возникшие проблемы.

Кстати, вы заметили, что на нашем сайте снова проводится опрос 'Содержимое какой из книг вы бы хотели прочитать в будущих статьях нашего сайта'? По результатам опроса с большим отрывом лидируют две книги: 'Недокументированные и малоизвестные возможности Windows Vista. Для профессионалов' и 'Удаленная работа на компьютере: как работать из дома комфортно и эффективно'. Если вы также хотели бы высказать свое мнение, у вас еще есть шанс - опрос будет действителен еще в течение недели.

В конец записи

Книга "Реестр Windows Vista. На 100%", Глава 2. Диалоги Vista. 2.2. ActiveX-объекты. Работа с ActiveX-объектами.

Папка ПАНЕЛЬ УПРАВЛЕНИЯ, рассмотренная нами ранее, а также некоторые значки в ней, являются специальными ActiveX-объектами. Описание того, что такое ActiveX-объекты, будет приведено в следующих главах книги. Сейчас же давайте рассмотрим возможности по настройке ActiveX-объектов, которые отображают значки или запускают различные диалоги, а также список всех таких ActiveX-объектов.

Многие стандартные значки операционной системы Windows Vista являются специальными ActiveX-объектами. Все эти ActiveX-объекты поддерживают набор стандартных возможностей по работе с ними. Чтобы воспользоваться любой из описанных ниже возможностей, нужно знать CLSID-номер ActiveX-объекта, значок которого настраивается. CLSID-номера большинства стандартных ActiveX-объектов будут описаны чуть ниже.

Отображение значков ActiveX-объектов

Первой возможностью работы с ActiveX-объектами, отображающими значки, которую мы с вами рассмотрим, будут способы отображения соответствующих значков.

Присвоение свойств ActiveX-объекта папке Самым простым способом отображения значка ActiveX-объекта является присвоение его свойств созданной папке. Для этого достаточно создать папку, после чего к ее имени добавить строку .{CLSID-номер соответствующего ActiveX-объекта}.

Отображение в папке Панель управления Этот способ мы уже знаем. Вы можете отобразить значок ActiveX-объекта в папке ПАНЕЛЬ УПРАВЛЕНИЯ, создав подраздел, названный в честь его CLSID-номера, в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ControlPanel\NameSpace.

Отображение в папке Компьютер Также значок ActiveX-объекта можно отобразить в папке КОМПЬЮТЕР. Для этого достаточно создать подраздел, названный в честь CLSID-номера нужного ActiveX-объекта, в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\MyComputer\NameSpace.

Отображение в папке Рабочий стол Еще одним местом, где вы можете отобразить значок ActiveX-объекта, является рабочий стол. Для этого достаточно создать подраздел, названный в честь CLSID-номера нужного ActiveX-объекта, в ветви HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace.

В данной ветви реестра по умолчанию находится параметр {9343812e-1c37-4a49-a12e-4b2d810d956b}. Если удалить данный параметр, тогда диалог поиска операционной системы Windows Vista работать не будет.

Отображение в папках сетевых компьютеров И последним местом, в котором вы можете отобразить значок ActiveX-объекта, является каталог, отображающий список общих папок сетевого компьютера. Для этого достаточно создать подраздел, названный в честь CLSID-номера нужного ActiveX-объекта, в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\NetworkNeighborhood\NameSpace.

Скрытие значков ActiveX-объектов

Операцией, противоположной отображению значка ActiveX-объекта, является скрытие соответствующего значка или запрет вызова диалога, который запускается при помощи данного значка.

Естественно, что если значок находится в одной из таких папок, как ПАНЕЛЬ УПРАВЛЕНИЯ, КОМПЬЮТЕР, РАБОЧИЙ СТОЛ, тогда самым простым способом выполнения этой операции будет удаление соответствующего значку дочернего подраздела из ветви реестра вида «ветвь реестра»\Namespaces. Однако кроме этого способа существует множество других.

Скрытие из папки Рабочий стол Если значок ActiveX-объекта отображается на рабочем столе, тогда скрыть его можно при помощи специальной ветви реестра. При этом можно скрыть значок отдельно на рабочем столе при использовании нового меню ПУСК и при использовании классического меню ПУСК.

Чтобы скрыть значок ActiveX-объекта на рабочем столе при использовании классического меню ПУСК, нужно создать параметр REG_DWORD типа, названный в честь CLSID-номера нужного ActiveX-объекта, в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\HideDesktopIcons\ClassicStartMenu. После этого созданному параметру нужно присвоить значение 1.

Если же нужно скрыть значок ActiveX-объекта на рабочем столе при использовании нового меню ПУСК, достаточно создать параметр REG_DWORD типа, названный в честь CLSID-номера нужного ActiveX-объекта, в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\HideDesktopIcons\NewStartPanel. После этого созданному параметру также нужно присвоить значение 1.

Именно эти две ветви реестра используются при скрытии значков с помощью диалога ПАРАМЕТРЫ ЗНАЧКОВ РАБОЧЕГО СТОЛА. Данный диалог отображается после выбора ссылки ИЗМЕНИТЬ ЗНАЧКИ РАБОЧЕГО СТОЛА диалога ПЕРСОНАЛИЗАЦИЯ.

Скрытие с рабочего стола Еще одним способом скрытия значков ActiveX-объектов с рабочего стола является использование параметра строкового типа System.HideOnDesktop ветви реестра вида HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder. Чтобы скрыть значок ActiveX-объекта с рабочего стола, данному параметру достаточно присвоить значение 1.

Скрытие ActiveX-объекта при отображении образцов и фильтров Еще одной возможностью скрытия ActiveX-объекта является возможность его скрытия при использовании вида проводника с отображением образцов и фильтров. Данный вид проводника используется по умолчанию и его можно сменить при помощи переключателя поля ЗАДАЧИ, расположенного на вкладке ОБЩИЕ диалога СВОЙСТВА ПАПКИ.

Чтобы скрыть значок ActiveX-объекта при использовании вида проводника с отображением образцов и фильтров, достаточно в ветви реестра формата HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder создать параметр строкового типа HideInWebView. Значение данного параметра операционной системой не используется.

Запрет на выполнение ActiveX-объекта И самым категоричным способом скрытия ActiveX-объекта является использование ветви реестра SOFTWARE\Microsoft\Windows\CurrentVersion\policies\NonEnum. Если в данной ветви реестра создать параметр REG_DWORD типа, названный в честь CLSID-номера нужного ActiveX-объекта, после чего присвоить данному параметру значение 1, тогда операционной системе будет запрещено выполнять соответствующий ActiveX-объект. То есть, будут не только скрыты значки соответствующего ActiveX-объекта, но и будет запрещено отображать диалог, который описан данным ActiveX-объектом.

Запрет на выполнение ActiveX-объекта Еще одним способом запрета выполнения операционной системой ActiveX-объекта является использование параметра REG_DWORD типа Attributes, которому для скрытия ActiveX-объекта достаточно присвоить значение 0x00100000.

Данный параметр может находиться в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder, а также в ветви реестра HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder. Значение параметра первой из описанных ветвей имеет больший приоритет.

Настройка контекстного меню значков

Отображение стандартных команд контекстного меню значков ActiveX-объектов можно изменить при помощи параметров ветви реестра вида HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder.

Стандартные команды контекстного меню Определить, будут ли в контекстном меню значка ActiveX-объекта отображаться такие команды, как КОПИРОВАТЬ, ВЫРЕЗАТЬ, ПЕРЕИМЕНОВАТЬ и т.д. можно при помощи параметра REG_DWORD типа Attributes. Данный параметр используется операционной системой только в том случае, если значение параметра REG_DWORD типа CallForAttributes не равно 0.

Параметр Attributes является битовой маской, биты которой определяют отображение следующих команд контекстного меню.

  • 0х00000001. Команда КОПИРОВАТЬ.
  • 0х00000002. Команда ВЫРЕЗАТЬ.
  • 0х00000010. Команда ПЕРЕИМЕНОВАТЬ.
  • 0х00000020. Команда УДАЛИТЬ.
  • 0х00000040. Команда СВОЙСТВА.
  • 0х00000100. Команда ВСТАВИТЬ.

Отображение стандартных команд идентификатора Folder Контекстное меню большинства значков ActiveX-объектов содержит в себе не только команды, определенные для самого ActiveX-объекта, но и стандартные команды, определенные для идентификатора Folder. Например, к таким командам относятся команды ОТКРЫТЬ и ПРОВОДНИК (отображаются в контекстном меню значков КОРЗИНА, МОЙ КОМПЬЮТЕР, ПАНЕЛЬ УПРАВЛЕНИЯ и т.д.).

Вы можете запретить отображение в контекстном меню значка ActiveX-объекта команд идентификатора Folder. Для этого достаточно создать параметр строкового типа HideFolderVerbs в ветви реестра формата HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder. Значение данного параметра операционной системой не используется.

Настройка значков

И напоследок давайте рассмотрим несколько параметров реестра, с помощью которых можно настроить отображение значков ActiveX-объектов.

Скрытие названия Вы можете скрыть название значка ActiveX-объекта. При этом пользователь по-прежнему сможет переименовывать значок (если такая возможность присутствует), однако название значка отображаться не будет.

Чтобы скрыть название значка, достаточно создать параметр строкового типа WantsFORDISPLAY в ветви реестра формата HKCR\CLSID\{CLSID-номер соответствующего ActiveX-объекта}\ShellFolder. Значение данного параметра операционной системой не используется.

Продолжение следует

Рейтинг: 0 
Оцените: 1 2 3 4 5
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=292

В избранное