Роман Клименко - Тонкости реестра Windows Vista. Трюки и эффекты
Сразу отмечу, что если вы не можете найти в своем Редакторе реестра той ветви, которая описывается в книге, то необходимые подразделы нужно создать самостоятельно.
2.1. Рабочий стол
В данном разделе мы остановимся на некоторых элементах Рабочего стола: папках Документы и Компьютер, Корзина и др.
Документы
С помощью системного реестра можно изменить текст всплывающей подсказки, которая отображается на экране при подведении указателя мыши к значку Документы на Рабочем столе. Для этого следует в разделе реестра HKEY_CLASSES_ROOTCLSID{450D8FBA-AD25-11D0-98A8-0800361B1103} изменить значение строкового параметра InfoTip (он также может иметь расширенный строковый тип). В окне редактирования, которое открывается при выполнении команды Изменить контекстного меню, необходимо с клавиатуры ввести требуемый текст (например, Рабочая папка) и нажать кнопку OK (рис. 2.1).
Рис. 2.1. Редактирование всплывающей подсказки
Можно внести требуемые изменения и с помощью REG-файла. Для этого необходимо в реестре установить указатель мыши на данный параметр и экспортировать его. После внесения соответствующих изменений импортируем REG-файл в реестр. Ниже приведен REG-файл (расположение на компакт-диске – Файлы реестраИнтерфейсInterMoiDoc.reg), после импорта которого в реестр будет изменен текст всплывающей подсказки.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTCLSID{450D8FBA-AD25-11D0-98A8-0800361B1103}]
"InfoTip"="Рабочая папка"
После выполнения указанных действий нужно обновить Рабочий стол (с помощью соответствующей команды его контекстного меню). Результат можно увидеть при подведении указателя мыши к значку Документы: текст всплывающей подсказки изменится в соответствии с введенным значением.
Примечание
Корневой раздел реестра HKEY_CLASSES_ROOT строится на основе содержимого двух ветвей: HKEY_LOCAL_MACHINESOFTWAREClasses и HKEY_CURRENT_USERSoftwareClasses. Таким образом, изменения можно вносить не только в подраздел ветви реестра HKEY_CLASSES_ROOTCLSID, но и в подразделы ветвей HKEY_LOCAL_MACHINESOFTWAREClassesCLSID или HKEY_CURRENT_USERSoftwareClassesCLSID (при этом изменения автоматически будут вноситься и в содержимое корневого раздела HKEY_CLASSES_ROOT). При этом следует учитывать, что изменения, сделанные в подразделе корневого раздела HKEY_CURRENT_USER, будут заменять собой содержимое подраздела корневого раздела HKEY_LOCAL_MACHINE, так как являются настройками пользователя, а не системы.
Можно также скрыть из контекстного меню значка Документы команду Свойства. Для этого используется ветвь реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer (при отсутствии раздела его нужно создать). В ней нужно создать REG_DWORD-параметр NoPropertiesMyDocuments и присвоить ему значение 1.
Корзина
Чтобы изменить текст всплывающей подсказки, которая отображается при подведении указателя мыши к значку Корзина, необходимо произвести аналогичные действия, что и в случае со значком Документы (см. выше), но только применительно к параметру InfoTip, находящемуся в разделе системного реестра HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}.
Как известно, стандартным способом переименовать Корзину на Рабочем столе невозможно, поскольку соответствующая функция в контекстном меню, вызываемом щелчком правой кнопкой мыши на значке Корзина, отсутствует. Однако системный реестр позволяет решить эту задачу с помощью строкового параметра LocalizedString, расположенного в разделе HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}. Требуемый вариант названия, например Всякий мусор, следует ввести с клавиатуры в окне редактирования параметра (рис. 2.2).
Рис. 2.2. Переименование Корзины
Изменения вступят в силу после обновления Рабочего стола с помощью соответствующей локальной функции.
Примечание
Изменить название Корзины можно и с помощью параметра (По умолчанию) приведенной ветви реестра. Однако, если перед системой встанет вопрос о том, значение какого параметра нужно использовать для имени Корзины, она выберет значение параметра LocalizedString, так как он имеет больший приоритет.
Есть и другие параметры, с помощью которых можно изменить название Корзины. Выше мы говорили о том, что параметр LocalizedString имеет наибольший приоритет, но, если быть точнее, это не совсем так. Например, попробуйте изменить значение параметра (По умолчанию) ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerCLSID{645FF040-5081-101B-9F08-00AA002F954E}, обновить Рабочий стол и посмотреть на название Корзины. Как видите, оно изменилось. Причем изменилось только для данного пользователя (предыдущие параметры изменяли название Корзины для всех пользователей системы). Теперь попробуйте создать в этой же ветви реестра параметр LocalizedString и посмотреть на результат.
Существует еще одна оригинальная возможность, которую предоставляет реестр Windows Vista, – полное скрытие названия Корзины. Для этого просто нужно создать в разделе реестра HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}ShellFolder строковый параметр WantsFORDISPLAY, не имеющий никакого значения. В результате система не будет учитывать описанные выше параметры изменения названия значка Корзины при ее построении. На рис. 2.3 вы можете увидеть пример скрытия названий значков Корзина и Компьютер.
Рис. 2.3. Результат запрета присвоения имени значкам Корзина и Компьютер
Еще одной возможностью, которую предоставляет реестр Windows, является изменение значка Корзины. Для этого нужно воспользоваться ветвью реестра HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}DefaultIcon. Она может содержать три параметра строкового типа:
• Empty – определяет путь к BMP-файлу значка пустой Корзины;
• Full – задает путь к BMP-файлу значка полной Корзины;
• (По умолчанию) – определяет путь к BMP-файлу значка Корзины в текущий момент времени.
Приведенные выше параметры также находятся в ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerCLSID{645FF040-5081-101B-9F08-00AA002F954E}DefaultIcon. Ее параметры переопределяют параметры из ветви HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}DefaultIcon.
Контекстное меню КорзиныЧтобы добавить в контекстное меню значка Корзины свою команду, нужно воспользоваться ветвью реестра HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}shell. В ней нужно создать подраздел, название которого будет отображаться в контекстном меню Корзины (если в данном подразделе будет определен параметр (По умолчанию), то именно его значение будет применяться для отображения команды в контекстном меню). В созданном подразделе нужно создать еще один подраздел, который должен называться command. Параметр (По умолчанию) подраздела command определяет команду, которая будет выполняться при выборе из контекстного меню Корзины соответствующего элемента.
Можно скрыть из контекстного меню Корзины пункт Свойства. Для этого применяется REG_DWORD-параметр NoPropertiesRecycleBin, который надо создать в ветви HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer. Чтобы скрыть команду Свойства, присвойте данному параметру значение 1.
Кроме того, можно выборочно блокировать элементы окна Свойства: Корзина. Для этого используется ветвь реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer, которая может содержать следующие REG_DWORD-параметры.
• ConfirmFileDelete – если значение данного параметра будет равно 1, то флажок Запрашивать подтверждение на удаление будет установлен и заблокирован для изменений.
• NoRecycleFiles – если значение данного параметра будет равно 1, то система не будет использовать Корзину для хранения удаленных файлов – они будут сразу удаляться. При этом возможность изменения размера Корзины и состояния флажка Уничтожать файлы сразу после удаления, не помещая их в корзину будет заблокирована.
• RecycleBinDrives – по умолчанию Корзина не создается на съемных дисках, однако с помощью данного параметра вы можете изменить это поведение операционной системы. Данный параметр является битовой маской, каждый бит которой определяет букву диска, на котором будет создаваться файл Корзины. Если присвоить данному параметру значение 0хffffffff, то файл Корзины будет создаваться на всех дисках.
Созданные изменения вступают в силу после перезагрузки компьютера.
Отображение Корзины на Рабочем столеС помощью системного реестра можно удалять/добавлять значок Корзина на Рабочем столе. Для этого следует, соответственно, удалить либо добавить подраздел {645FF040-5081-101B-9F08-00AA002F954E} в разделе системного реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionexplorerDesktopNameSpace. Данные изменения будут относиться ко всем пользователям. Если же вы хотите отредактировать положение Корзины на Рабочем столе только для текущего пользователя, то нужно воспользоваться ветвью HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerDesktopNameSpace (при отсутствии указанного раздела его нужно создать).
Примечание
Кроме Корзины описанным способом можно отобразить или удалить с Рабочего стола и другие элементы, представленные подразделами ветви реестра HKEY_CLASSES_ROOTCLSID. Например, чтобы отобразить на Рабочем столе значок Запуск программы, нужно в ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerDesktopNameSpace создать подраздел с именем {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}. Можно выбрать аналогичную ветвь, начинающуюся с корневого раздела HKEY_LOCAL_MACHINE; в этом случае данный значок будет присутствовать на Рабочем столе всех пользователей компьютера. Изменения вступают в силу после перезагрузки компьютера.