В данном разделе мы, используя возможности системного реестра, научимся управлять отображением ряда элементов и изменять некоторые режимы работы Проводника.
Значки и ярлыки
Рассмотрим, как настраивать отображение значков и ярлыков с помощью параметров реестра.
После создания ярлыка в его нижнем левом углу отображается стрелка (рис. 2.5).
Рис. 2.5. Стрелка у ярлыка
Однако не всем нравится наличие таких стрелок. Чтобы скрыть их, необходимо в разделе реестра HKEY_CLASSES_ROOT\lnkfile удалить строковый параметр IsShortcut, после чего перезагрузить компьютер. В результате стрелки на ярлыках больше не будут отображаться.
Для возврата к исходному состоянию нужно вновь создать в разделе HKEY_CLASSES_ROOT\lnkfile строковый параметр IsShortcut и перезагрузить компьютер.
По умолчанию при создании ярлыка на файл методом перемещения с нажатой правой кнопкой мыши (или с помощью команды Создать ярлык контекстного меню файла) будет создан ярлык, имеющий название вида «название исходного файла» – Ярлык.
Вы можете запретить возможность добавления суффикса – Ярлык к создаваемому ярлыку. Для этого достаточно присвоить параметру REG_BINARY-типа link значение 0. Данный параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer.
Например, ниже приведен текст REG-файла (расположение файла на компакт-диске – Файлы реестра\Режимы\NoLinkSuffixs.reg), запрещающего отображение суффикса – Ярлык.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"link"=hex:00,00,00,00
Изменения вступают в силу после перезагрузки компьютера.
Если вы пытаетесь запустить ярлык, который ссылается на несуществующий файл, то операционная система начинает поиск файла во всех каталогах, сопоставленных с данным ярлыком. Для этого она использует идентификатор файла, на который ссылается ярлык.
Если же с помощью идентификатора файла не удается найти нужный файл, то операционная система выполняет полный поиск нужного файла на соответствующем разделе диска.
Вы можете изменить параметры поиска файла, на который ссылается ярлык. Для этого применяются три параметра REG_DWORD-типа ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer:
• NoResolveSearch – если значение данного параметра равно 1, то не будет выполняться поиск файла на всем разделе диска;
• NoResolveTrack – при установке значения этого параметра равным 1 не будет выполняться поиск по идентификатору файла;
• LinkResolveIgnoreLinkInfo – если значение данного параметра равно 1, то не будет выполняться поиск файла по исходному пути.
Чтобы изменить значок, который используется ActiveX-объектом по умолчанию, достаточно указать путь к новому значку с помощью параметра (По умолчанию) ветви реестра вида HKEY_CLASSES_ROOT\CLSID\«{CLSID-номер ActiveX-объекта}»\DefaultIcon.
Существует возможность указания значка ActiveX-объекта, который будет использоваться только для вашей учетной записи и станет переопределять собой значение параметра (По умолчанию), расположенного в ветви реестра вида HKEY_CLASSES_ROOT\CLSID\«{CLSID-номер ActiveX-объекта}»\DefaultIcon.
Для этого достаточно указать путь к новому значку с помощью параметра (По умолчанию) ветви реестра вида HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID{CLSID-номер ActiveX-объекта}\DefaultIcon.
Существует возможность переопределения значков, хранящихся в библиотеке shell32.dll, своими значками. Для этого достаточно воспользоваться ветвью HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons.
В данной ветви реестра нужно создать параметр строкового типа, название которого должно соответствовать идентификатору значка из библиотеки shell32.dll, который вы хотите переопределить. Значение этого параметра должно указывать путь к значку, который будет заменять собой данный значок библиотеки shell32.dll.
Например, операционная система Windows Vista использует следующие параметры данной ветви реестра, определяющие значки:
• 3 – закрытой папки; применяется в раскрывающихся списках;
• 4 – открытой папки; применяется в раскрывающихся списках;
• 34 – Рабочего стола;
• 8 – жесткого диска;
• 5 – 5-дюймового флоппи-диска;
• 6 – 3,5-дюймового флоппи-диска.
В некоторых элементах интерфейса операционной системы Windows Vista применяются маленькие значки. Вы можете изменить их размер. Для этого достаточно указать нужный размер (в пикселах) с помощью параметра строкового типа Shell Small Icon Size, расположенного в ветви реестра HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics.
Например, ниже приведен текст REG-файла (расположение файла на компакт-диске – Файлы реестра\Режимы\SmallIcon32.reg), устанавливающего размер маленьких значков равным 32 пикселам.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"Shell Small Icon Size"="32"
На рис. 2.6 представлен результат импортирования данного REG-файла.
Чтобы вернуть настройки по умолчанию, просто удалите значение параметра Shell Small Icon Size.
Рис. 2.6. Увеличение размеров маленьких значков
Это можно сделать с помощью еще одного REG-файла (расположение файла на компакт-диске – Файлы реестра\Режимы\SmallIconStandart.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"Shell Small Icon Size"=-
Существует возможность добавления к изображению каждой папки своего значка, как это сделано на рис. 2.7. Для этого нужно указать путь к значку в параметре строкового типа Logo, расположенном в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shell\Bags\AllFolders\Shell.
Рис. 2.7. Добавление своего логотипа ко всем папкам
Удаление элементов Проводника
Существует возможность запрета отображения некоторых элементов Проводника. В данном разделе книги мы подробнее познакомимся с этой возможностью.
С помощью несложной операции можно удалить меню Файл из главного меню как Проводника, так и других окон, использующих оболочку Windows (Документы, Internet Explorer, Компьютер и др.). Для этого необходимо создать REG_DWORD-параметр NoFileMenu в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer и присвоить ему значение 1. Ниже приведен соответствующий REG-файл (расположение на прилагающемся к книге компакт-диске – Файлы реестра\Интерфейс\InterNoFileMenu.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoFileMenu"=dword:00000001
После импорта данного REG-файла в реестр и последующей перезагрузки компьютера меню Файл перестанет отображаться в соответствующих окнах (рис. 2.8).
Рис. 2.8. Окно Проводника без меню Файл
После удаления параметра NoFileMenu из реестра либо присвоения ему значения 0 (с последующей перезагрузкой компьютера и в том, и в другом случаях) меню Файл вновь будет отображаться в соответствующих окнах на своем обычном месте.
Можно также удалить область просмотра Проводника (по умолчанию отображается и скрывается с помощью пункта Панель просмотра, расположенного в списке Раскладка списка кнопки Упорядочить). Для этого необходимо создать REG_DWORD-параметр NoReadingPane в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer и присвоить ему значение 1.
Ниже приведен соответствующий REG-файл (расположение на прилагающемся к книге компакт-диске – Файлы реестра\Интерфейс\InterNoReadPane.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Policies\Explorer]
"NoReadingPane"=dword:00000001
Внесенные изменения вступают в силу после перезагрузки компьютера.
Еще одной областью Проводника, которую можно удалить, является область подробностей (по умолчанию отображается и скрывается с помощью пункта Панель подробностей, расположенного в списке Раскладка списка кнопки Упорядочить). Для этого необходимо создать REG_DWORD-параметр NoPreviewPane в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer и присвоить ему значение 1.
Ниже приведен соответствующий REG-файл (расположение на прилагающемся к книге компакт-диске – Файлы реестра\Интерфейс\InterNoPreviewPane.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Policies\Explorer]
"NoPreviewPane"=dword:00000001
Внесенные изменения вступают в силу после перезагрузки компьютера.
Настройка возможностей Проводника
После способов ограничения отображения элементов Проводника рассмотрим некоторые возможности по настройке его работы.
Отображение эскизов страниц можно ограничить с помощью параметров REG_DWORD-типа ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer:
• DisableThumbnails – если значение данного параметра равно 1, то в локальных папках не будут отображаться эскизы страниц;
• DisableThumbnailsOnNetworkFolders – при установке значения этого параметра равным 1 в сетевых папках не будут отображаться эскизы страниц;
• NoThumbnailCache – если значение данного параметра равно 1, то не будет выполняться кэширование эскизов страниц (создание файлов thumbs.db, содержащих эскизы страниц всех файлов в папке).
В операционной системе Windows Vista была расширена и доработана реализация возможностей отображения значков. Например, теперь любой значок поддерживает различные размеры отображения вплоть до 256 пикселов. При этом операционная система создает сразу несколько копий значков разных размеров, храня их в различных общих кэшах значков. Настройки использования данных кэшей значков содержатся в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThumbnailCache. Если не сказано иначе, параметры имеют тип REG_DWORD.
• Location – этот параметр строкового типа определяет путь к каталогу, содержащему общие кэши значков (файлы thumbcache_32.db, thumbcache_96.db, thumbcache_256.db, thumbcache_1024.db, thumbcache_idx.db и thumbcache_sr.db). По умолчанию общие кэши значков хранятся в каталоге %userprofile%\AppData\Local\Microsoft\Windows\Explorer.
• MaxCacheFileSize32 – задает максимальный размер файла thumbcache_32.
• MaxCacheFileSize96 – определяет максимальный размер файла кэша эскизов страниц thumbcache_96.
• MaxCacheFileSize256 – указывает максимальный размер файла thumbcache_256.
• MaxCacheFileSize1024 – задает максимальный размер файла thumbcache_1024.
Вы, наверное, уже замечали, что операционная система сохраняет сделанные вами изменения вида значков папок – при следующем запуске измененной папки для отображения ее содержимого будет использоваться указанный ранее вид.
По умолчанию операционная система может сохранить отдельные настройки вида значков в папке максимум для 5000 локальных папок и 5000 сетевых папок. Вы можете изменить эти установки. Для этого применяются параметры REG_DWORD-типа BagMRU Size, расположенные в ветвях HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell (для локальных папок) и HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam (для сетевых папок).
По умолчанию в операционной системе Windows Vista всегда присутствует только один экземпляр Проводника (файл explorer.exe). Он содержит данные и оболочки операционной системы и открытых в данный момент окон Проводника. Что касается быстродействия, то это правильное решение (так как использование общего процесса уменьшает количество оперативной памяти, требуемой Проводнику). Однако если возникнет ошибка в работе окна Проводника или оболочки, то все окна Проводника закроются и оболочка перезагрузится.
Существует возможность настройки операционной системы на использование двух экземпляров Проводника. В этом случае в первом экземпляре будет выполняться оболочка операционной системы, а во втором – все открытые в данный момент окна.
Для этого достаточно присвоить параметру REG_DWORD-типа SeparateProcess значение 1. Он расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
Изменения вступят в силу после перезагрузки.
С помощью области Задачи, расположенной на вкладке Вид окна Свойства папки, можно определить, будут ли в Проводнике отображаться образцы и фильтры (по умолчанию отображаются).
Существует возможность блокирования доступа к области Задачи. Для этого достаточно присвоить значение 1 параметру REG_DWORD-типа NoWebView. Параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
После выполнения указанных изменений область Задачи будет заблокирована (рис. 2.9).
Рис. 2.9. Область Задачи заблокирована
Изменения вступят в силу после перезагрузки компьютера.
Компьютер
Можно изменить значок, который используется для идентификации окна Компьютер. Для этого следует создать параметр строкового типа OpenIcon в ветви реестра HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon. Он должен содержать путь к BMP-файлу значка формата 22 x 22 пиксела. На рис. 2.10 показан результат изменения приведенного параметра (изображение ключа).
Рис. 2.10. Результат изменения значка в строке заголовка окна Компьютер
Можно запретить отображение команды Свойства в контекстном меню значка Компьютер. Для этого нужно параметру REG_DWORD-типа NoPropertiesMyComputer присвоить значение 1. Он расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
Существует также возможность запрета отображения в контекстном меню значка Компьютер команды Управление. Для этого нужно параметру REG_DWORD-типа NoManageMyComputerVerb присвоить значение 1. Параметр расположен в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
Из контекстного меню значка Компьютер можно также скрыть команды Подключить сетевой диск и Отключить сетевой диск. Для этого достаточно создать в ветви HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D} параметр строкового типа {28636AA6-953D-11D2-B5D6-00C04FD918D0} 2.
Вы можете удалить некоторые пункты контекстного меню значков диска. Для этого необходимо удалить соответствующий пункту меню подраздел ветви реестра HKEY_CLASSES_ROOT\Drive\shellex\ContextMenuHandlers:
• {596AB062-B4D2-4215-9F74-E9109B0A8153} – отображает команду Восстановить прежнюю версию;
• {fbeb8a05-beee-4442-804e-409d6c4515e9} – показывает команду Записать на диск.
Можно скрыть команду Общий доступ. Для этого в подразделе Sharing ветви реестра HKEY_CLASSES_ROOT\Drive\shellex\ContextMenuHandlers нужно присвоить параметру (По умолчанию) значение 0 вместо {f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}.
Чтобы скрыть значки дисков в окне Компьютер, нужно использовать REG_DWORD-параметр NoDrives, который является битовой маской. Этот параметр расположен в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. Значения битовой маски данного параметра строятся по следующему принципу:
• 0х00000001 – скрыть значок диска А:;
• 0х00000002 – диска B:;
• 0х00000004 – диска C:;
• 0х00000008 – диска D:;
• 0х00000010 – диска E:;
• 0х00000020 – диска F: и т. д.
Кроме скрытия значков реестр Windows позволяет запретить доступ к дискам. Для этого используется REG_DWORD-параметр NoViewOnDrive, расположенный в той же ветви реестра, что и предыдущий, и также являющийся битовой маской. Более того, его битовая маска имеет такие же значения, что и битовая маска предыдущего параметра.
Можно изменить стандартный значок диска. Для этого используется ветвь реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\DriveIcons. Чтобы изменить значок диска, нужно создать в этой ветви подраздел с именем, соответствующим букве диска, значок которого вы хотите изменить. В этом подразделе следует создать еще один подраздел, названный DefaultIcon. В параметре (По умолчанию) этого подраздела нужно указать путь к файлу рисунка, который будет присвоен диску (изменения вступают в силу сразу после того, как вы откроете окно Компьютер). На рис. 2.11 показан результат наших экспериментов.
Рис. 2.11. Результат изменения значка отдельного диска
В папке Интерфейс компакт-диска, прилагаемого к книге, находится файл сценария change_drive_icon.vbs, с помощью которого можно изменить значок диска.
Кроме подраздела DefaultIcon указанная ветвь реестра может содержать подраздел DefaultLabel. Его параметр (По умолчанию) определяет метку диска, устанавливаемую по умолчанию. При этом следует учитывать, что если диск уже имеет метку, то значение данного подраздела не будет иметь силы.
По умолчанию буква диска (в названии раздела диска) отображается справа от его метки, однако с помощью параметра REG_DWORD-типа ShowDriveLettersFirst это можно изменить. Этот параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer и может принимать следующие значения:
• 1 – отображать букву диска справа от его метки;
• 2 – вообще не отображать букву диска;
• 4 – показывать букву диска слева от метки.
Существует возможность настройки отображения и работы некоторых вкладок окна Свойства значка диска.
Вкладка Сервис. Данная вкладка содержит три кнопки: Выполнить архивацию, Выполнить проверку и Выполнить очистку. Существует возможность изменения команд, которые выполняются при нажатии этих кнопок. Для этого достаточно изменить значение параметров (По умолчанию) подразделов BackupPath, cleanuppath и DefragPath, расположенных в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\MyComputer.
Вкладка Оборудование. Чтобы запретить отображение данной вкладки, достаточно параметру REG_DWORD-типа NoHardwareTab присвоить значение 1. Параметр расположен в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. После этого нужно перезагрузить компьютер.
Вкладка Безопасность. Чтобы запретить отображение данной вкладки, достаточно параметру REG_DWORD-типа NoSecurityTab присвоить значение 1. Этот параметр расположен в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
После выполнения данного действия вкладка Безопасность будет удалена из окна Свойства для всех файлов и папок. Если же вкладку Безопасность нужно удалить только из окна Свойства значков диска, то придется воспользоваться другой возможностью. Для этого достаточно удалить подраздел {1f2e5c40-9550-11ce-99d2-00aa006e086c} из ветви реестра HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers.
Вкладка Предыдущие версии. Запретить отображение данной вкладки в окне Свойства значка диска можно с помощью ветви HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers. Для этого в ней достаточно удалить подраздел {596AB062-B4D2-4215-9F74-E9109B0A8153}.
Вкладка Квота. Чтобы запретить отображение данной вкладки в окне Свойства значка диска, нужно воспользоваться ветвью реестра HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers. Достаточно в ней удалить подраздел {7988B573-EC89-11cf-9C00-00AA00A14F56}.
Вкладка Настройка. Запретить отображение данной вкладки в окне Свойства значка диска можно с помощью ветви HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers. Для этого в ней достаточно удалить подраздел {ef43ecfe-2ab9-4632-bf21-58909dd177f0}.
Вкладка Доступ. Чтобы запретить отображение данной вкладки в окне Свойства значка диска, нужно использовать ветвь реестра HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers. Достаточно в ней удалить подраздел {f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}.
Контекстное меню
Если вы задавались вопросом, как скрыть тот или иной пункт контекстного меню файла и папки, то в данном разделе вы сможете найти ответы на свои вопросы.
В контекстном меню исполняемых файлов (и ярлыков на них) по умолчанию отображается команда Запуск от имени администратора. Вы можете скрыть эту команду.
Для этого достаточно присвоить параметру REG_DWORD-типа HideRunAsVerb значение 1. Параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
Для внесения изменений компьютер нужно перезагрузить.
При необходимости можно запретить пользователям применение контекстного меню, вызываемого щелчком правой кнопкой мыши на Панели задач. Для этого следует в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer создать REG_DWORD-параметр NoTrayContextMenu и присвоить ему значение 1. Фрагмент импортируемого в реестр REG-файла представлен ниже (расположение файла на компакт-диске – Файлы реестра\Режимы\NoTrayContextMenu.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoTrayContextMenu"=dword:00000001
После внесения в реестр указанных изменений и последующей перезагрузки компьютера контекстное меню Панели задач вызываться не будет. Чтобы вернуться в исходное состояние, необходимо удалить из реестра параметр NoTrayContextMenu либо присвоить ему значение 0, после чего перезагрузить компьютер.
Как отмечалось выше, двойной щелчок кнопкой мыши на REG-файле не открывает его для редактирования, как большинство других файлов, а приводит к импорту этого файла в реестр (см. разд. 1.4). При этом система сначала выдает запрос на подтверждение этого действия, а после импорта выводит информационное сообщение об успешном завершении процедуры. Возможности реестра позволяют изменить такой режим работы.
Чтобы при двойном щелчке кнопкой мыши REG-файл не импортировался в реестр, а открывался для редактирования в текстовом редакторе (удобнее всего редактировать REG-файл в Блокноте), необходимо в разделе реестра HKEY_CLASSES_ROOT\regfile\shell\open\command присвоить строковому параметру (По умолчанию) значение Notepad.EXE "%1". Для этого в реестр импортируется следующий REG-файл (расположение файла на компакт-диске – Файлы реестра\Режимы\Command.reg):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\regfile\shell\open\command]
@="Notepad.EXE \"%1\""
После внесения в реестр указанных изменений двойной щелчок кнопкой мыши (либо нажатие клавиши Enter) на значке REG-файла откроет этот файл для редактирования в окне текстового редактора (Блокнот). Для возврата в исходное состояние нужно присвоить параметру (По умолчанию) первоначальное значение – regedit.exe «%1». Чтобы изменения вступили в силу, перезагрузка компьютера не требуется.
Если же вносить такие изменения нет необходимости, то можно оставить предыдущий режим работы, отключив при этом появление запроса на подтверждение импорта и информационное сообщение об успешном окончании процедуры. В данном случае этому же параметру нужно установить значение regedit.exe\s "%1". После внесения в реестр указанных изменений двойной щелчок кнопкой мыши (либо нажатие клавиши Enter) на REG-файле приведет к его импорту в реестр без вывода этих двух окон.
Чтобы сделать недоступным контекстное меню Проводника, вызываемое щелчком правой кнопкой мыши на каком-либо файле, необходимо в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer создать REG_DWORD-параметр NoViewContextMenu и присвоить ему значение 1. Фрагмент соответствующего REG-файла приведен ниже (расположение на прилагающемся к книге компакт-диске – Файлы реестра\Интерфейс\InterNoViewContextMenu.reg).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoViewContextMenu"=dword:00000001
В результате после перезагрузки компьютера контекстное меню Проводника перестанет вызываться. Чтобы вернуть исходное состояние, следует либо удалить параметр NoViewContextMenu, либо присвоить ему значение 0, после чего вновь перезагрузить компьютер.
Тем не менее даже при отключенном контекстном меню доступ к дискам компьютера сохраняется. Например, если воспользоваться командой Файл → Создать → Ярлык, на экране отображается окно мастера создания ярлыка, в котором с помощью кнопки Обзор открывается доступ как к локальным, так и к сетевым дискам. Чтобы перекрыть этот доступ, достаточно в системном реестре удалить или переименовать раздел HKEY_CLASSES_ROOT\.lnk\ShellNew. В результате этого возможность создания ярлыка останется, но уже без помощи мастера создания ярлыка и, следовательно, без доступа к дискам (правда, вызвать мастер создания ярлыка можно будет с помощью команды rundll32.exe appwiz.cpl,NewLinkHere «путь к файлу, для которого нужно сделать ярлык»). Результат выполненных действий можно увидеть без перезагрузки компьютера.
Подраздел ShellNew, расположенный в одном из подразделов расширений некоторых файлов, предназначен для добавления к списку Создать контекстного меню Рабочего стола или Проводника команды создания файла с соответствующим расширением. Название этой команды определяется описанием расширения файла (это описание можно увидеть в корневом разделе HKEY_CLASSES_ROOT в параметре (По умолчанию) подраздела, название которого соответствует значению параметра (По умолчанию) подраздела расширения файла). Сама команда, которая вызывается при выборе соответствующей строки из списка Создать, задается одним из параметров подраздела ShellNew, которые описаны ниже (обратите внимание: подраздел ShellNew должен содержать только ОДИН из этих параметров).
• Command – этот параметр строкового типа определяет команду, которая будет выполняться при выборе соответствующего пункта меню Создать (то есть содержимое этого параметра ничем не отличается от содержимого параметра (По умолчанию) подраздела Command, с помощью которого мы уже создавали команды контекстного меню файлов и ActiveX-объектов).
• NullFile – данный строковый параметр не должен содержать никакого значения. При этом после выбора команды для создания файла соответствующего расширения будет создаваться пустой файл. Например, с помощью этого параметра создаются текстовые файлы.
• FileName – имеет строковый тип и определяет путь и имя файла, который будет создаваться (просто копироваться в папку, откуда был вызван список Создать, или на Рабочий стол) после выбора соответствующей команды меню Создать.
• Data – данный параметр двоичного типа содержит последовательность цифр в шестнадцатеричной системе счисления, которую система будет использовать для генерации содержимого файла (например, этот параметр используют файлы с музыкальным содержимым для возможности создания пустого файла-образца звука).
Стандартные пункты списка Создать. По умолчанию список Создать содержит пункты, с помощью которых можно создавать файлы определенных расширений. Описанные далее параметры названы по аналогии с расширениями файлов и задают определенные пункты списка Создать.
• Briefcase – Портфель.
• .bmp – Точечный рисунок, используемый для создания файла изображения, предназначенного для работы с программой mspaint.exe.
• .contact – Контакт, используемый для создания контакта для адресной книги почтового клиента Почта Windows (расположена в каталоге %userprofile%\Contacts).
• .zip – Сжатая папка. Для удаления данного пункта нужно удалить раздел ShellNew из ветви реестра HKEY_CLASSES_ROOT\.zip\CompressedFolder.
• .jnt – Документ Журнала, используемый для создания файла программы Журнал (%programfiles%\Windows Journal\Journal.exe). Для удаления данного пункта нужно удалить раздел ShellNew из ветви реестра HKEY_CLASSES_ROOT\.jnt\jntfile.
• .lnk – Ярлык.
• Folder – Папка.
Напомню, что вы можете удалить эти пункты из списка Создать, просто удалив подраздел ShellNew из ветви реестра вида HKEY_CLASSES_ROOT\«расширение файла».
Пример создания пункта списка Создать. Попробуем добавить свой пункт к списку Создать. Например, реализуем возможность создания REG-файлов, ведь их структуру мы уже знаем. Итак, что нам дано? Искомый файл имеет расширение REG, значит, именно подраздел, имеющий название .reg, мы и должны искать в корневом разделе HKEY_CLASSES_ROOT. В данном подразделе нужно создать вложенный подраздел ShellNew. Затем следует определиться с параметром, который мы поместим в подраздел ShellNew. Здесь все зависит от того, что именно мы хотим получить. В нашем случае параметрами Command и Data пользоваться нецелесообразно. Параметр NullFile создаст файл с расширением REG. Это уже лучше, но беда в том, что этот файл внутри будет пустым, а хотелось бы, чтобы в нем сразу был указан заголовок REG-файла. Значит нужно создать шаблон REG-файла с необходимой информацией, а потом уже с помощью параметра FileName указать путь к этому шаблону.
Итак, создали. Но не спешите смотреть на содержимое списка Создать (оно все равно изменится только после перезагрузки). Лучше попробуем предположить, какой текст появится в этом списке. Для этого нужно посмотреть на параметр (По умолчанию) подраздела .reg. Он содержит название второго подраздела реестра, описывающего команды и свойства файлов с данным расширением. Вот этот подраздел нам и нужно найти, ведь именно его параметр (По умолчанию) будет использоваться для формирования строки списка Создать для расширения REG.
Конечно, приведенный выше пример не многим может пригодиться, ведь REG-файлы можно создать и простым экспортом из реестра. Однако есть и другие расширения файлов, команды для которых можно добавить. Например, если вы часто создаете INF-файлы, файлы сценариев Windows или CPP-файлы, то вам может быть удобнее раз и навсегда создать несколько шаблонов, вместо того чтобы каждый раз вводить одни и те же команды.
В контекстное меню Проводника можно при необходимости добавить команды Копировать в папку и Переместить в папку, предназначенные для копирования либо перемещения соответственно требуемого файла в указанное место. По умолчанию эти команды не входят в состав контекстного меню Проводника, хотя изначально прописаны в операционной системе.
Чтобы включить команду Копировать в папку в контекстное меню Проводника, необходимо в разделе HKEY_CLASSES_ROOT\-\shellex\ContextMenuHandlers создать подраздел Copyto и присвоить параметру (По умолчанию) значение {C2FBB630-2971-11d1-A18C-00C04FD75D13} (рис. 2.12).
Рис. 2.12. Включение команды копирования в контекстное меню Проводника
Включение команды Переместить в папку в состав контекстного меню Проводника осуществляется аналогичным образом. Для этого необходимо в разделе реестра HKEY_CLASSES_ROOT\-\shellex\ContextMenuHandlers создать подраздел Moveto и задать параметру (По умолчанию) значение {C2FBB631-2971-11d1-A18C-00C04FD75D13}. Ниже приведен текст REG-файла (путь к файлу на диске – Файлы реестра\Интерфейс\InterMoveto.reg), который следует импортировать в реестр для включения данной функции в контекстное меню Проводника.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\-\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
После внесения указанных изменений в системный реестр команды Копировать в папку и Переместить в папку войдут в состав контекстного меню Проводника без перезагрузки компьютера: их можно увидеть, щелкнув на каком-либо файле правой кнопкой мыши (рис. 2.13).
Рис. 2.13. Добавленные команды в контекстном меню
Чтобы убрать данные команды из контекстного меню Проводника, достаточно в системном реестре удалить созданные подразделы Copyto и Moveto.
Если вы часто слушаете музыку с помощью Проигрывателя Windows Media, то вам могут понадобиться еще несколько стандартных команд контекстного меню, о доступе к которым разработчики забыли позаботиться. Этими командами являются Воспроизвести с помощью проигрывателя, Добавить в список проигрывателя Windows Media и Добавить в список записи. Лучше всего добавлять эти команды к контекстному меню папок, поэтому так мы и поступим.
• Воспроизвести с помощью проигрывателя Windows Media и Добавить в список проигрывателя Windows Media. К контекстному меню можно добавить сразу две команды. Первая аналогична предыдущей рассмотренной нами команде, а с помощью второй можно добавить все музыкальные файлы, находящиеся в соответствующей папке и ее подпапках, к списку воспроизведения открытого в данный момент Проигрывателя Windows Media. Чтобы добавить эту команду к контекстному меню папки, нужно создать подраздел {F1B9284F-E9DC-4e68-9D7E-42362A59F0FD} в ветви реестра HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers.
• Воспроизвести с помощью Windows Media – открывает Проигрыватель Windows Media, загружает в него все музыкальные файлы, содержащиеся в папке, из контекстного меню которой была выбрана команда (а также все музыкальные файлы, содержащиеся в папках, вложенных в данную папку). Затем начинается воспроизведение первого музыкального файла из загруженных (или случайного файла, если включен соответствующий режим). Это очень удобная и полезная команда, ведь при ее использовании не нужно специально открывать проигрыватель и выбирать файлы – достаточно выделить несколько папок с музыкальными файлами, которые вы хотите сейчас послушать, и выбрать эту команду.
Чтобы добавить эту команду к контекстному меню папки, необходимо создать подраздел {CE3FB1D1-02AE-4a5f-A6E9-D9F1B4073E6C} в ветви реестра HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers.
• Добавить в список записи – открывает стандартное окно Проигрывателя Windows Media на вкладке Запись. При этом в списке записываемых данных уже будут присутствовать музыкальные файлы, хранящиеся в соответствующей папке и ее подпапках.
Чтобы добавить эти команды к контекстному меню папки, нужно создать подраздел {8DD448E6-C188-4aed-AF92-44956194EB1F} в ветви реестра HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers.
Управление отображением команды Отправить, которая также находится в контекстном меню Проводника и Рабочего стола (на рис. 2.13 она расположена под коман.56. дой Переместить в папку), осуществляется в разделе реестра HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Send To. Для включения данной команды в состав контекстного меню Проводника следует присвоить параметру (По умолчанию) значение {7BA4C740-9E81-11CF-99D3-00AA004AE837}. Ниже приведен текст соответствующего REG-файла (путь к файлу на компакт-диске, прилагаемом к книге, – Файлы реестра\Интерфейс\InterSendTo.reg).
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Send To]
@="{7BA4C740-9E81-11CF-99D3-00AA004AE837}"
Чтобы убрать команду Отправить из контекстного меню Проводника, достаточно удалить значение параметра (По умолчанию). Все изменения вступают в силу без перезагрузки компьютера.
При попытке открытия файла с незарегистрированным расширением перед вами отобразится окно с предложением либо поискать описание программы для запуска файлов данного расширения в Интернете, либо вручную определить программу для запуска файлов соответствующего расширения (рис. 2.14).
Рис. 2.14. Открытие незарегистрированных файлов
Если вы никогда не пользуетесь возможностью поиска описания программы, предназначенной для запуска файлов, в Интернете, то можно убрать этот шаг запуска файлов незарегистрированных расширений и указать операционной системе, что она сразу должна отображать окно Выбор программы. Это окно предназначено для самостоятельного определения программы, с помощью которой будут запускаться файлы соответствующего расширения. Для этого нужно параметру REG_DWORD-типа NoInternetOpenWith, расположенному в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, присвоить значение 1.
Список программ, отображаемых в окне Выбор программы, определяется с помощью подразделов ветви реестра HKEY_CLASSES_ROOT\Applications. В данной ветви реестра хранится набор подразделов, названных в честь программ, – соответствующие этим подразделам программы как раз и будут отображаться в окне Выбор программы.
С помощью подразделов программ ветви реестра HKEY_CLASSES_ROOT\Applications можно указать программы, которые никогда не будут отображаться в окне Выбор программы. Для этого достаточно в подразделе соответствующей программы создать параметр строкового типа NoOpenWith.