Windows Vista. Для профессионалов - Роман Клименко
Шрифт:
Интервал:
Закладка:
Заметьте, что данный подраздел по умолчанию содержит вложенный подраздел cmd, определяющий команду контекстного меню Рабочего стола и Проводника, с помощью которой можно открыть программу cmd.ехе. В этой программе будет по умолчанию открыт путь к каталогу, из которого вы вызвали данную команду. Однако, как вы, наверное, уже проверили, такой команды вообще не существует в контекстном меню Рабочего стола и Проводника. Чтобы она отобразилась, нужно в ветви реестра HKEY_CLASSES_ROOTDirectory BackgroundShellcmd удалить параметр строкового типа Extended.
Одну новую команду в контекстное меню мы уже добавили. Как видите, это не так сложно. Если же вам нужно добавить собственную команду, которая будет отображаться в контекстном меню Рабочего стола и Проводника, то в данном подразделе нужно создать новый дочерний подраздел, название которого не имеет значения. Параметру (По умолчанию) данного подраздела нужно присвоить название команды, которое будет отображаться в контекстном меню. После этого в созданном вами подразделе нужно создать дочерний подраздел command, параметр (По умолчанию) которого будет определять команду, выполняемую при выборе созданного вами пункта контекстного меню Рабочего стола и Проводника. После этого новый пункт отобразится в контекстном меню Рабочего стола и Проводника.
• ShellEx – содержит вложенный подраздел ContextMenuHandler. Он определяет команды контекстного меню Рабочего стола и Проводника, действия которых основаны на возможностях ActiveX-объектов.
По умолчанию данный подраздел включает в себя подраздел New, параметр (По умолчанию) которого определяет CLSID-номер ActiveX-объекта. Если вы удалите данный подраздел, то из контекстного меню Рабочего стола и Проводника исчезнет команда Создать.
Кроме того, вы можете добавить собственные ActiveX-объекты к контекстному меню Рабочего стола и Проводника. Для этого в подразделе ShellEx нужно создать дочерний подраздел, например с именем New2. В параметре (По умолчанию) подраздела New2 нужно указать CLSID-номер ActiveX-объекта, который нужно добавить к контекстному меню Рабочего стола и Проводника. К сожалению, многие команды ActiveX-объектов замещают собой команды других ActiveX-объектов, поэтому можно указать только один из приведенных далее CLSID-номеров.
Например, ниже описаны CLSID-номера наиболее интересных стандартных ActiveX-объектов. CLSID-номера остальных ActiveX-объектов, которые также можно добавить к контекстному меню, описаны в приложении 4. После CLSID-номера указано, какую команду он добавляет к контекстному меню Рабочего стола и Проводника.
– {2559alf0-21d7-lld4-bdaf-00c04f60b9f0} – Поиск. Данная команда замещает собой команды Справка и поддержка и Выполнить.
– {2559alfl-21d7-lld4-bdaf-00c04f 60b9f0} – Справка и поддержка. Она замещает собой команды Поиск и Выполнить.
– {2559alf3-21d7-lld4-bdaf-00c04f 60b9f0} – Выполнить. Данная команда замещает собой команды Справка и поддержка и Поиск.
– { 645FF040-5081-101B-9F08-00AA002F954E} – Очистить Корзину. Данный ActiveX-объект может отображаться вместе с другим ActiveX-объектом, поэтому если вы не хотите из контекстного меню удалять пункт Создать (или любой другой) ради того, чтобы добавить эту команду, то просто создайте в подразделе Shellex дочерний подраздел, например New4, а его параметру (По умолчанию) присвойте данный CLSID-номер.
Изменение содержимого контекстного меню файлов различного расширения
Для выполнения этой операции создавались целые программы, однако опытный пользователь, наверное, знал, что раньше для изменения содержимого контекстного меню файлов различного расширения достаточно было открыть вкладку Типы файлов окна Свойства папки. К сожалению, в Windows Vista разработчики решили вообще убрать эту вкладку из указанного окна. Поэтому теперь для изменения содержимого контекстного меню придется пользоваться реестром.
Многие пользователи вообще не могут понять, зачем нужно изменять контекстное меню файлов различного расширения, однако в некоторых случаях это очень облегчает жизнь. Мало того что вы можете удалить ненужные элементы контекстного меню, так можно еще добавить новые элементы. Например, если вам часто нужно открывать исполняемые файлы в других программах (дизассемблере, редакторе ресурсов или даже в простом Блокноте), то вы, без сомнения, уже думали над тем, как вообще это сделать. Действительно, как быстро открыть исполняемый файл в Блокноте, если в его контекстном меню и в помине нет команды Открыть с помощью? Поэтому для примера попробуем добавить к контекстному меню файлов с расширением ЕХЕ именно эту команду.
Чтобы это сделать, сначала нужно в ветви реестра HKEY_CLASSES_ROOT найти подраздел идентификатора для расширения ЕХЕ. Это можно сделать двумя способами. Во-первых, можно посмотреть на параметр (По умолчанию) ветви реестра HKEY_CLASSES_ROOT<pacniMpeHMe файла>, то есть в данном случае ветви HKEY_CLASSES_ROOT.ехе. Значение этого параметра и будет названием раздела идентификатора, к которому нам нужно перейти. Вторым же способом является использование стандартной программы командной строки assoc.exe. Чтобы отобразить с ее помощью идентификатор расширения ЕХЕ, достаточно ввести команду assoc.exe.
После этого нужно перейти в ветвь реестра НКЕУ_СЬАЗЗЕЗ_КООТ<идентификатор расширения>зпе11. Вы уже обратили внимание, что подраздел с названием shell встречался в предыдущем совете данной главы? Все верно, это один и тот же подраздел с одинаковой структурой и одинаковыми возможностями. Поэтому описывать здесь способ создания нового элемента контекстного меню файлов мы не будем. Он и так был описан ранее.
Итак, чтобы добавить команду Открыть с помощью к контекстному меню файлов с расширением ЕХЕ, нужно в ветви реестра HKEY_CLASSES_ROOT.ехеshell создать новый подраздел, допустим, с названием openWith. А в нем нужно создать вложенный подраздел с названием command. Чтобы добавить команду Открыть с помощью, параметру (По умолчанию) этого подраздела нужно присвоить строку rund1132 shell32.dll, OpenAs_RunDLL %1.
Если же вы хотите открывать исполняемые файлы только с помощью Блокнота, то параметру (По умолчанию) достаточно присвоить значение notepad.ехе %1.
Настройка папки Панель управления
К сожалению, нет никаких стандартных способов настройки папки Панель управления. Однако это не значит, что вы не сможете изменить ее содержимое. Как обычно, для этого применяется реестр.
Скрытие апплетов классической папки Панель управления
Скрытие апплетов Панели управления может понадобиться по разным причинам. Но основной из них является оптимизация скорости отображения этой папки. Например, можно скрыть неиспользуемые вами апплеты, чтобы скорость отображения Панели управления увеличилась. Можно также скрыть все апплеты папки, после чего создать свой ActiveX-объект, отображаемый в Панели управления, с помощью контекстного меню которого можно будет запустить необходимый апплет. В этом случае скорость отображения папки будет почти мгновенной. Но эта возможность будет описана в приложении 4, а пока просто рассмотрим ветви реестра , с помощью которых можно скрыть тот или иной апплет.
Стандартной ветвью системного реестра Windows, используемой для этого, является HKEY_CURRENT_USERControl Paneldon't load. Чтобы скрыть определенный апплет, нужно в этой ветви создать параметр строкового типа, название которого соответствует названию скрываемого апплета. Например, чтобы скрыть апплет main.cpl, нужно создать в этой ветви реестра параметр main.cpl.
Второй ветвью реестра , с помощью которой можно запретить отображение апплетов в Панели управления, является HKEY_LOCAL_MACHINE SOFTWARE Microsoft WindowsCurrentVersionControl Paneldon't load. Ее формат полностью аналогичен предыдущей ветви, но она определяет те апплеты, которые не будут отображаться в Панели управления для всех учетных записей пользователей, тогда как предыдущая ветвь реестра скрывала апплеты только для текущей учетной записи.
...Примечание
Любой апплет можно вызвать с помощью команды вида rundll32.exe shell32.dll. Control_RunDLL «апплет или DLL-файл».
Теперь рассмотрим названия всех апплетов, доступных в Windows Vista.
• Appwiz.cpl – вызывает окно Установка и удаление программ. По умолчанию данный апплет скрыт с помощью ветви реестра HKEY_LOCAL_MACHINE SOFTWARE MicrosoftWindowsCurrentVersionControl Paneldon't load. Однако он отображается с помощью ActiveX-объекта.
• Collab.cpl – открывает окно Соседние пользователи.
• Desk.cpl – вызывает окно Параметры дисплея и отображает одноименный значок в Панели управления. По умолчанию апплет скрыт с помощью ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion Control Paneldon't load.
• Firewall.cpl – открывает окно Брандмауэр Windows. По умолчанию апплет скрыт с помощью ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoft WindowsCurrentVersionControl Paneldon't load. Однако он отображается с помощью ActiveX-объекта.
• Hdwwiz.cpl – вызывает окно Установить оборудование. По умолчанию апплет скрыт С ПОМОЩЬЮ ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionControl Paneldon't load. Однако он отображается с помощью ActiveX-объекта.
• Inetcpl.cpl – открывает окно Свойства: Интернет.