Александр Климов - Реестр Windows 7
Сеть
Теперь займемся удалением значка Сеть из панели навигации. Для этого в разделе HKCRCLSID{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}ShellFolder нужно изменить значение параметра Attributes типа DWORD на b0940064 . После перезагрузки компьютера он из панели навигации Проводника исчезнет. Чтобы вернуть значок Сеть на место, установите для данного параметра значение b0040064 .
Избранное
Следующим объектом для экспериментов станет значок Избранное . В разделе HKCRCLSID{323CA680-C24D-4099-B94D-446DD2D7249E}ShellFolder вам нужно изменить значение параметра Attributes типа DWORD на a9400100 . После перезагрузки компьютера он из панели навигации Проводника исчезнет. Чтобы вернуть значок Избранное на место, установите для данного параметра значение a0900100 .
Команда Создать
Одной из самых используемых команд в контекстом меню Проводника и Рабочего стола является команда Создать . Достаточно щелкнуть на свободном месте Проводника правой кнопкой мыши и вызвать контекстное меню, и вот уже можно следующим щелчком создать папку, ярлык, текстовый файл, документ Word и т. д. (рис. 4.20). Исследуем подробнее, как работает механизм управления созданием новых объектов в реестре, а также попробуем создавать собственные объекты.
Рис. 4.20. Команда меню Создать
Основные принципы работы команды Создать
Чтобы научиться создавать собственные объекты при помощи команды Создать , необходимо узнать, как это работает в реестре. Возьмем текстовый файл ( TXT ), который можно создать при помощи команды Создать . В редакторе реестра есть раздел, который отвечает за функциональность расширения TXT:HKCR.txt .
В этом разделе существует подраздел ShellNew (рис. 4.21), который и отвечает за добавление к команде Создать контекстного меню Проводника и Рабочего стола.Рис. 4.21. Раздел реестра, ответственный за создание новых TXT-файлов
В данном разделе могут присутствовать следующие параметры:
► Command – этот строковый параметр определяет команду, которая будет выполняться при выборе пункта меню Создать .
► NullFile – данный строковый параметр не должен содержать никакого значения. В этом случае будет создаваться пустой файл.
► FileName – имеет строковый тип и определяет путь и имя файла-шаблона, который будет создаваться (копироваться в папку, откуда была вызвана команда Создать ) после выбора команды меню Создать . Подробнее о файлах-шаблонах мы поговорим позже.
► Data – данный параметр двоичного типа содержит данные, которыми будет заполнен файл-шаблон. Он, например, может использоваться для генерации звуковых файлов в качестве образца.
Также раздел ShellNew может содержать и другие параметры строкового типа:
► IconPath – данный параметр определяет путь к значку, который будет отображаться в меню Создать вместо стандартного значка приложения, ассоциированного с файлом. Если присвоить ему значение shell32.dll,51 , то напротив соответствующего элемента меню Создать рисунок отображаться не будет.
► MenuText – данный параметр позволяет установить свой текст в меню Создать вместо стандартного названия, определяемого системой.
Раздел ShellNew может содержать в себе вложенный подраздел Config , который может содержать следующие параметры строкового типа.
► NoExtension – при наличии данного параметра создаваемый файл не будет иметь расширения, когда пользователь будет выбирать команду Создать .
► DontRename – по умолчанию имя созданного файла выделяется и готово к редактированию с клавиатуры. При наличии данного параметра имя создаваемого файла автоматически выделяться не будет.
Удаление команды Создать
Если вы хотите удалить команду Создать из контекстного меню Проводника, удалите строковый параметр {D969A300-E7FF-11d0-A93B-00A0C90F2719} в разделе HKCRDirectoryBackgroundshellexContextMenuHandlersNew ....ВНИМАНИЕ
Не забудьте сделать архивную копию ветки реестра или точку восстановления системы, прежде чем удалять или модифицировать разделы реестра!
Удаление конкретных команд из меню Создать
Иногда пункт Создать очень сильно разрастается. Особенно это начинает раздражать, когда в этом списке содержатся упоминания программ, которые были уже давно удалены.
Чтобы почистить команду Создать от лишних элементов, нужно в реестре найти соответствующее расширение файла и удалить раздел ShellNew . Например, мы хотим удалить команду Текстовый документ . Ищем раздел HKCR.txt и удаляем подраздел ShellNew .
Аналогично поступаем с файлами BMP, ZIP, LNK и т. д.
Для папок и Портфеля нужно использовать, соответственно, разделы Folder и Briefcase . Особняком стоит файл Документ журнала (.jnt) , используемый для создания файла программы Журнал (Journal.exe). Для удаления данного пункта нужно удалить раздел ShellNew из ветви реестра HKCR.jntjntfile .
Создание собственных команд для меню Создать
Ко мне нередко обращались за помощью, когда обнаруживали, что после установки какой-то программы вдруг исчезала возможность создания текстового файла или другого файла при помощи команды Создать .
Попробуем самостоятельно создать свои пункты в меню Создать . Для примера возьмем файлы REG и HTM. Выбор их не случаен. Так как вы читаете книгу о реестре, логично научиться использовать файлы REG в своих целях, а файлы HTM пригодятся для веб-мастеров, которые пред почитают создавать веб-страницы при помощи Блокнота.
Команды для создания новых файлов: REG и HTML
Итак, наша цель – добавить новый пункт в меню Создать , при помощи которого будут создаваться заготовки REG-файла с нужной структурой. Первый и очевидный шаг – перейти в раздел HKCR и найти подраздел .reg . Создаем в нем новый раздел ShellNew .
Так как создавать пустой файл не имеет большого смысла, будем использовать в созданном разделе параметр FileName , в котором будет прописан шаблон для нового файла.
Запустим Проводник и создадим в любой папке файл registry.reg (как это сделать, описано в первой главе) следующего содержания:
Windows Registry -Editor Version 5.00
Теперь его нужно скопировать в папку C:WindowsShellNew . Этот каталог хранит заготовки для файлов, которые создаются с помощью контекстного меню.
Вернемся в редактор реестра и создадим в разделе HKCR.regShellNew строковый параметр FileName со значением C:WindowsShellNewregistry.regtxt . Теперь осталось перезагрузить компьютер и посмотреть на получившийся результат. Мы видим, что в меню Создать появилась команда Файл реестра, которая создает новый файл Файл реестра.reg (рис. 4.22.).
Если открыть созданный файл с помощью Блокнота, то в нем обнаруживается строчка Windows Registry Editor Version 5.00 . Теперь можно быстро создавать REG-файлы, добавляя нужные разделы и параметры.
Рис. 4.22. Создание нового файла реестра
По тому же принципу можно создавать команды меню для создания других файлов. Например, добавим в меню Создать команду для создания HTML-файла по шаблону.
Поместим в папку C:WindowsShellNew предварительно созданный в другом месте файл index.html следующего содержания:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Мой заголовок</title>
</head>
<body>
</body>
</html>
Файл можно создать в Блокноте – технология работы точно такая же, как при создании REG-файла.
Откроем редактор реестра и в разделе HKCR.html создадим новый раздел ShellNew .
В только что созданном разделе HKCR.htmlShellNew создадим строковый параметр FileName , содержащий имя созданного выше файла-шаблона – index.html (рис. 4.23).Рис. 4.23. Новый раздел и параметр в реестре
После перезагрузки компьютера в меню Создать появится пункт Документ HTML , щелчок по которому создает документ по шаблону, заданному файлом index.htm.
Удаление команды Отправить
Если вы хотите скрыть команду Отправить из контекстного меню файлов, то присвойте пустое значение параметру по умолчанию в разделе HKCRAllFilesystemObjectsshellexContextMenuHandlersSendTo .Создание собственных команд для контекстного меню Проводника и Рабочего стола
Мы знаем, как удалять или редактировать некоторые команды из контекстного меню Проводника и Рабочего стола. Настало время научиться создавать свои собственные команды. Информация о контекстном меню Проводника и Рабочего стола хранится в разделе реестра HKCRDirectoryBackgroundShell . Именно отсюда система узнает, какие команды нужно отобразить в контекстном меню и какие программы нужно запустить, когда пользователь щелкает по выбранной команде меню. Таким образом, вооружившись этими знаниями, мы сможем сами создавать нужные нам команды.