В своей предыдущей статье («Почему иерархическая навигация (хлебные крошки) удобнее, чем кнопка «Вверх».») я пообещал, что расскажу, как добавить кнопку «Вверх» (Up) на панель команд Проводника (Windows Explorer) в Windows 7, для тех, кого мой рассказ о преимуществах иерархической навигации не убедил. Как я уже упоминал, вернуть привычную кнопку можно с помощью малоизвестной клавишной комбинации, сценария VBScript и Редактора реестра.
Сложности
Для добавления сценария VBScript в реестр потребуются те же самые параметры, о которых шла речь в статье «Изменение панели команд Проводника Windows 7 для всех папок». И к сожалению, из-за особенностей конфигурации реестра для чувствительной к контексту панели команд, наборы кнопок являются взаимоисключающими: либо кнопка «Вверх», либо все остальные.
Если вы еще не добавляли на панель команд никаких кнопок, можете сразу переходить к следующему разделу. Тем не менее, настоятельно советую прочитать всю статью целиком, прежде чем вносить какие-либо изменения, поскольку с описанным способом связано еще несколько тонкостей.
Если вы уже добавляли кнопки по технологии, описанной в статье «Изменение панели команд Проводника Windows 7 для всех папок», кнопка «Вверх» отображаться не будет, даже если ее добавить. Поэтому сначала нужно отменить внесенные в реестр изменения — то есть, удалить все специальные коды, добавленные в разделы «TasksItemsSelected» (например, «Windows.delete») и «TasksNoItemsSelected» (например, «Windows.menubar»). Только после этого кнопка «Вверх» будет работать.
Удаляйте только те коды, которые вы сами добавили. Ни в коем случае не убирайте коды по умолчанию. И пожалуйста, дочитайте статью до конца, прежде чем приступать к делу, потому что с описанным методом связано еще несколько важных моментов.
Функциональность кнопки «Вверх»
Хотя сама кнопка «Вверх» из панели команд Проводника исчезла, ее функциональность никуда не делась. Для перехода на один уровень вверх в дереве папок можно воспользоваться специальной клавишной комбинацией или командой меню.
Перейти к папке верхнего уровня из подпапки, открытой в Проводнике, можно с помощью горячих клавиш [Alt]+[стрелка вверх]. Кроме того, можно открыть меню «Вид» (View) в строке меню и выбрать опцию «На один уровень вверх» (Up One Level) из подменю «Переход» (Go To).
И тот, и другой способ вполне функционален, но они, конечно, не так удобны, как кнопка «Вверх» на панели команд. А поскольку клавишная комбинация [Alt]+[стрелка вверх] всегда активна при открытом окне Проводника, ее можно автоматизировать с помощью сценария VBScript.
Создание сценария VBScript
PowerShell постепенно вытесняет VBScript как средство автоматизации задач в среде Windows. Тем не менее, VBScript по-прежнему имеет множество полезных функций, одна из которых — возможность автоматизировать клавиатурные нажатия посредством метода SendKeys.
Для отправки клавиатурных нажатий метод SendKeys использует определенные символы, соответствующие тем или иным клавишам. К примеру, клавишная комбинация [Alt]+[стрелка вверх] обозначается как «%{UP}». Поскольку основное назначение сценария в нашем случае — отправка клавишной комбинации, состоит он всего из трех строк:
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "%{UP}" Wscript.Quit
Первая строка активирует все функции объекта Windows Script Host, связывая переменную WshShell с объектом Wscript, и обеспечивает непосредственный доступ к оболочке Windows (Windows Shell). Вторая строка отправляет клавиатурные нажатия с использованием метода SendKeys. Третья строка завершает работу сценария с помощью метода Quit.
Чтобы создать сценарий, скопируйте его в Блокнот (Notepad) и сохраните с именем «Up.vbs» в подпапке корневого каталога. Я, к примеру, создал для этого папку «Scripts» в корневом каталоге диска «C:».
Получение GUID
Многие имена разделов реестра — на самом деле глобально уникальные идентификаторы (Globally Unique Identifier, GUID). Такой идентификатор — это 128-разрядное целое число, которое считается статистически уникальным. GUID представляет собой ряд шестнадцатеричных чисел верхнего или нижнего регистра в группах по 8, 4, 4, 4 и 12, разделенных дефисами.
Чтобы добавить на панель команд кнопку «Вверх» через реестр, нам потребуются два GUID. Получить GUID можно на сайте Create a GUID, который автоматически выдает идентификаторы при каждом посещении. Откройте сайт, скопируйте полученный GUID в Блокнот и сохраните. Чтобы получить второй GUID, просто обновите страницу и скопируйте новый идентификатор в Блокнот. Заключите каждый GUID в фигурные скобки {}, как показано на рис. A.
Рисунок A. Скопировав идентификаторы в Блокнот, заключите каждый из них в фигурные скобки.
Идентификаторы нам скоро понадобятся, так что пока просто сверните Блокнот.
Редактирование реестра
Не забывайте, что реестр — ключевой компонент оперативной системы, поэтому любые ошибки при редактировании могут привести к серьезным последствиям. Чтобы этого избежать, создайте точку восстановления и образ системы с помощью утилиты «Архивация и восстановление» (Backup and Restore) — тогда вы сможете восстановить систему, даже если что-то пойдет не так.
Чтобы запустить Редактор реестра, введите «Regedit» (без кавычек) в строке поиска меню «Пуск» (Start), нажмите [Enter] и подтвердите выполнение операции в диалоговом окне контроля учетных записей пользователей (UAC).
Изменение разрешений
В Редакторе реестра найдите и выделите папку «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}». Обратите внимание на каноническое имя папки — «Generic» (параметр «CanonicalName», рис. B). Именно его я и буду использовать для обозначения раздела в дальнейшем.
Рисунок B. Хотя раздел называется {5c4f28b5-f869-4e84-8e60-f11db97c5cc7}, его каноническое имя — «Generic».
Откройте меню «Избранное» (Favorites) и выберите опцию «Добавить в избранное» (Add to Favorites), чтобы потом можно было быстро вернуться к нужному разделу.
Прежде чем редактировать раздел «Generic», нужно изменить разрешения для него. Нажмите на папке правой кнопкой мыши и выберите опцию «Разрешения» (Permissions). В диалоговом окне «Разрешения для...» (Permissions For, рис. C) нажмите кнопку «Дополнительно» (Advanced), чтобы вызвать диалоговое окно «Дополнительные параметры безопасности» (Advance Security Settings).
Рисунок C. В диалоговом окне «Разрешения для...» нажмите кнопку «Дополнительно».
Перейдите на вкладку «Владелец» (Owner), выделите группу «Администраторы» (Administrators) в разделе «Изменить владельца на» (Change Owner To) и нажмите «Применить» (Apply). После смены текущего владельца на группу «Администраторы» (рис. D) нажмите «OK».
Рисунок D. Измените текущего владельца на группу «Администраторы».
В диалоговом окне «Разрешения для...» выделите группу «Администраторы» в разделе «Группы или пользователи» (Group or User Names) и поставьте флажок «Полный доступ — Разрешить» (Full Control — Allow) в разделе «Разрешения для группы Администраторы» (Permissions for Administrators, рис. E). Нажмите «OK».
Рисунок E. Разрешите администраторам полный доступ, чтобы получить возможность изменять раздел «Generic».