Панель проводника Windows 7 сильно отличается от той, что была в Windows XP и даже в Windows Vista. Кнопки «Упорядочить» и «Новая папка» присутствуют на ней практически всегда. А остальной набор кнопок на панели изменяется динамически, и он зависит от того, выделены ли папка или файл, а также от типа выделенного файла. Кроме того, набор кнопок в папке отличается в зависимости от шаблона папки или библиотеки, если она в нее входит.
Внимание! Избежать ручной правки реестра вам поможет утилита Explorer Toolbar Editor, которая появилась по мотивам этой статьи.
Применительно к добавлению собственных кнопок суть заключается в том, что их нужно добавить для каждого шаблона папки и для каждого типа библиотеки, чтобы они отображались во всех папках проводника.
На этой странице:
- Шаблоны папок и библиотек
- Добавление кнопок «Копировать», «Вставить» и «Удалить» в библиотеках
- Добавление кнопок «Копировать», «Вставить» и «Удалить» в обычных папках
- Как найти нужный шаблон
- Список кнопок, известных системе
- Удаление стандартных кнопок
- Экспорт настроенных кнопок
Шаблоны папок и библиотек
Прежде чем приступить к добавлению кнопок, нужно понять, куда их добавлять, т.е. где они будут отображаться. Если вы пользуетесь библиотеками, логично добавлять кнопки именно в шаблоны библиотек, и тогда входящие в них папки будут иметь добавленные кнопки. Если вы храните файлы и документы вне библиотек, вам нужно добавлять кнопки в шаблоны обычных папок.
Общий принцип применения шаблона к папке описан в таблице ниже.
Если папка… | Используется… |
---|---|
входит в библиотеку |
|
не входит в библиотеку |
|
Я не буду сейчас останавливаться на настройке вида папок, поэтому предлагаю вам погулять по папкам и библиотекам и понаблюдать за набором кнопок на панели проводника. Для папок, не входящих в библиотеки, обращайте внимание на то, какой шаблон для них используется (Свойства папки – Настройка).
Вот как выглядит панель проводника, когда в библиотеке «Документы» выделен файл Microsoft Word.
Добавление собственных кнопок сопряжено с правкой реестра и изменением разрешений в нем. Перед началом работы я настоятельно рекомендую вам создать точку восстановления системы и резервную копию изменяемых разделов реестра на случай, если что-то пойдет не так. А теперь к делу!
Добавление кнопок «Копировать», «Вставить» и «Удалить» в библиотеках
В качестве примера добавления кнопок на панель проводника я рассмотрю библиотеку «Документы». В других библиотеках процедура аналогична.
- Откройте редактор реестра и перейдите в раздел
- Получите полные права на доступ к этому разделу реестра.
- Щелкните подраздел TasksItemsSelected для управления кнопками, которые отображаются при выделенном файле или папке.
- Дважды щелкните параметр (По умолчанию), и вы увидите примерно такую картину:
Windows.print;Windows.email;Windows.burn;Windows.CscWorkOfflineOnline
Это кнопки: Печать, Записать на оптический диск, Электронная почта и т.д.
- Добавьте к существующим значениям:
Windows.Copy;Windows.Paste;Windows.Delete;
Эти значения соответствуют кнопкам Копировать, Вставить и Удалить. Вы можете добавить их в любом месте списка, отделяя от других элементов точкой с запятой (;). Порядок значений в списке соответствует порядку отображения кнопок на панели. Я добавил кнопки в начало списка.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}
Этот раздел отвечает за библиотеку «Документы» (параметр CanonicalName имеет значение Documents.Library). Набор букв и цифр в имени раздела называется GUID, и для каждого шаблона он уникален. Список GUID для основных шаблонов библиотек и папок вы найдете ниже в статье.
Этот подраздел есть только в шаблонах библиотек и результатов поиска в них.
Изменения уже вступили в силу! Откройте любую папку в библиотеке «Документы» или нажмите F5 в уже открытой папке, выделите файл, и вы увидите на панели новые кнопки.
Кнопка «Вставить» у меня не активна, но это лишь потому, что в буфере обмена пусто.
Внося изменения в разделе TasksItemsSelected, вы, наверное, обратили внимание на подраздел TasksNoItemsSelected. Он отвечает за набор кнопок, которые отображаются, когда в папке ничего не выделено. Понятно, что добавлять кнопки «Копировать» и «Удалить» в этом случае нет смысла, но вы можете добавить кнопку «Вставить», если хотите.
Добавление кнопок «Копировать», «Вставить» и «Удалить» в обычных папках
Когда папка не входит в библиотеку, ее вид зависит от того, открыта она из библиотеки или нет. Самый короткий способ изменить набор кнопок — это добавить все нужные папки в собственную библиотеку и всегда открывать их оттуда. Библиотеке можно задать шаблон «Общие элементы» и задать набор кнопок для него в реестре. Недостаток способа в том, что в библиотеках изменение вида одной папки распространяется на все сразу, т.е. вы не сможете задать собственный вид и набор столбцов для разных папок.
Более длинный, но надежный путь — это добавление кнопок в каждый шаблон папки. Если вы создадите на рабочем столе новую папку и заглянете в ее свойствах на вкладку «Настройка», вы увидите там шаблон «Общие элементы» (не путайте с одноименным шаблоном библиотеки). Именно для этого шаблона я покажу процесс добавления кнопок. Он отличается от рассмотренной выше процедуры лишь тем, что ключевой подраздел реестра нужно будет создать.
- Откройте редактор реестра и перейдите в раздел
- Получите полные права на доступ к этому разделу реестра.
- Создайте подраздел TasksItemsSelected и вы увидите там параметр (По умолчанию), значение которого не задано.
- Дважды щелкните параметр (По умолчанию) и задайте значение:
Windows.Copy;Windows.Paste;Windows.Delete;
Эти значения соответствуют кнопкам Копировать, Вставить и Удалить.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}
Этот раздел отвечает за шаблон «Общие элементы» (параметр CanonicalName имеет значение Generic).
Изменения уже вступили в силу! Откройте любую папку с шаблоном «Общие элементы» или нажмите F5 в уже открытой папке, выделите файл, и вы увидите на панели новые кнопки.
Точно так же вы можете добавить кнопки, которые будут отображаться, когда в папке ничего не выделено. Создайте подраздел TasksNoItemsSelected и измените значение параметра (По умолчанию) на свой лад.
Как найти нужный шаблон
Если вы хотите видеть свои кнопки в других библиотеках, типах папок и даже результатах поиска, описанные выше действия придется произвести над каждым шаблоном. Все они хранятся в уже знакомом вам разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes
В таблице ниже перечислены шаблоны, которые вас могут заинтересовать. Шаблоны папок и библиотек отличаются друг от друга, несмотря на одинаковые названия.
Тип папки | GUID |
---|---|
Шаблон папки «Общие элементы» | {5c4f28b5-f869-4e84-8e60-f11db97c5cc7} |
Шаблон папки «Документы» | {7d49d726-3c21-4f05-99aa-fdc2c9474656} |
Шаблон папки «Изображения» | {b3690e58-e961-423b-b687-386ebfd83239} |
Шаблон папки «Музыка» | {94d6ddcc-4a68-4175-a374-bd584a510b78} |
Шаблон папки «Видео» | {5fa96407-7e77-483c-ac93-691d05850de8} |
Библиотека «Документы» | {fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9} |
Библиотека «Изображения» | {0b2baaeb-0042-4dca-aa4d-3ee8648d03e5} |
Библиотека «Музыка» | {3f2a72a7-99fa-4ddb-a5a8-c604edf61d6b} |
Библиотека «Видео» | {631958a6-ad0f-4035-a745-28ac066dc6ed} |
Библиотека «Общие элементы» | {5f4eab9a-6833-4f61-899d-31cf46979d49} |
Результаты поиска в библиотеке «Документы» | {36011842-dccc-40fe-aa3d-6177ea401788} |
Результаты поиска в библиотеке «Изображения» | {4dcafe13-e6a7-4c28-be02-ca8c2126280d} |
Результаты поиска в библиотеке «Музыка» | {71689ac1-cc88-45d0-8a22-2943c3e7dfb3} |
Результаты поиска в библиотеке «Видео» | {ea25fbd7-3bf7-409e-b97f-3352240903f4} |
Результаты поиска в библиотеке «Общие элементы» | {7fde1a1e-8b31-49a5-93b8-6be14cfa4943} |
Список кнопок, известных системе
Выше я рассказал о добавлении трех кнопок: Копировать, Вставить и Удалить. Помимо них существуют и другие известные системе кнопки, список которых вы найдете в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
Здесь названия подразделов соответствуют назначениям кнопок и имеют вид Windows.Действие (например, Windows.copy означает Копировать). Я собрал в таблицу пару десятков кнопок (сопроводив некоторые клавиатурными сочетаниями) с примерными рекомендациями, в каком случае их использовать. Очевидно, что некоторые кнопки имеют смысл только при выделенном элементе.
Кнопка | Действие | Использование |
---|---|---|
Windows.burn | Записать на оптический диск | TasksItemsSelected |
Windows.closewindow | Закрыть (окно) <ALT+F4> | TasksItemsSelected, TasksNoItemsSelected |
Windows.copy | Копировать <CTRL+C> | TasksItemsSelected |
Windows.delete | Удалить <Del> | TasksItemsSelected |
Windows.email | Электронная почта | TasksItemsSelected |
Windows.folderoptions | Параметры папок и поиска | TasksNoItemsSelected |
Windows.includeinlibrary | Включить в библиотеку | TasksItemsSelected |
Windows.layout | Представление (вкл. и выкл. областей проводника) | TasksNoItemsSelected |
Windows.librarypane | Область библиотек (под панелью кнопок) | TasksNoItemsSelected |
Windows.menubar | Строка меню (ALT) | TasksNoItemsSelected |
Windows.navpane | Область переходов | TasksNoItemsSelected |
Windows.paste | Вставить (CTRL+V) | TasksItemsSelected, TasksNoItemsSelected |
Windows.previewpane | Область предпросмотра <Alt+P> | TasksNoItemsSelected |
Windows.print | Печать | TasksItemsSelected |
Windows.properties | Свойства (файла, папки, библиотеки) <ALT+Enter> | TasksItemsSelected, TasksNoItemsSelected |
Windows.redo | Вернуть (возврат последнего отмененного действия) <CTRL+Z> | TasksNoItemsSelected |
Windows.rename | Переименовать <F2> | TasksItemsSelected |
Windows.selectall | Выделить все <CTRL+A> | TasksNoItemsSelected |
Windows.separator | Разделитель (кнопка без подписи и действия) | TasksItemsSelected, TasksNoItemsSelected |
Windows.Share | Общий доступ | TasksItemsSelected |
Windows.slideshow | Показ слайдов | TasksItemsSelected, TasksNoItemsSelected |
Windows.undo | Отменить <CTRL+Z> | TasksNoItemsSelected |
Удаление стандартных кнопок
Если вы читали статью с начала, то уже догадались, как удалить стандартные кнопки с панели проводника. Для каждого шаблона придется удалять ненужные кнопки в подразделах TasksItemsSelected и TasksNoItemsSelected. Удалить с панели можно лишь те кнопки, которые указаны в этих параметрах реестра, но помимо них есть ряд кнопок, встроенных в оболочку.
Экспорт настроенных шаблонов
Если вы хотите сохранить настройки, чтобы использовать их, например, после переустановки системы, можно экспортировать раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes
или его подразделы, которые вы изменяли. Однако не забывайте, что перед импортом необходимо получить полные права на эти разделы реестра.
На эту же тему
Используя команды из реестра Windows, можно добавлять кнопки не только на панель, но и в меню. Читайте Как изменить состав меню «Упорядочить» на панели Проводника Windows 7
Guest
Привет.
Материал почерпнул ведь отсюда http://www.experts-exchange.com/Programming/System/Windows__Programming/A_2173-Add-a-Custom-Command-Button-to-the-Windows-7-Explorer-Toolbar.html ?
Почему первоначально была созданна тема в Автоматизации действий конференции ОСЗоне.Нет (где эта ссылка и была опубликованна), а потом тема была удаленна(перемещенна)?
Vadim Sterkin
Если внимательно прочесть статью, то будет ясно, что материал почерпнут не с Experts Exchange :) Там рассказывается о произвольной кнопке, а здесь — об изменнии набора кнопок, используя встроенные в систему.
О произвольной кнопке тоже расскажу. Тему в скриптах создавал, но в ней отпала необходимость, т.к. нашел готовый скрипт, который изначально просил написать в теме.
Guest
Вадим спасибо за ответ (да и другие ответы в других заметках), а то видя хорошую тему и потом её таинственное исчезновенние поисчитал её не решенность…
Буду весьма рад прочитать продолженние вопроса.
Vadim Sterkin
Публикация запланирована на 4 декабря.
Еще бы знать, кто этот таинственный Guest, который отслеживает быстро удаляемые темы в форуме скриптов :)
hb860
Очень полезный материал. В свое время делал такое в Vista, но то, что здесь написано, перекрывает мои познания.
Thanks for sharing, как говорится.
Vadim Sterkin
hb860, спасибо :) Честно говоря, белые пятна тут еще есть, и я как раз хотел их именно с тобой обсудить. Но чуть позже, когда из остальных статей цикла картина станет яснее.
andrey
С Библиотеками все ясно, а вот как поудалять кнопки из шаблонов папок, изначельно подразделов TaskItemsSelected и TaskNoItemsSelected в реестре нет?
Vadim Sterkin
andrey,
Некоторые кнопки встроены в оболочку, т.е. не контролируются в реестре описанным здесь способом (например, «Новая папка»). Это верно и для библиотек. Вы можете убрать только те кнопки, что указаны в реестре, и/или добавить кнопки.
В обычных папках подразделы нужно создавать — это описано в статье.
Павел
Здравствуйте. Может кто нибудь объяснить, что делаю не так когда делаю добавление кнопок «Копировать», «Вставить» и «Удалить» в обычных папках. Они не появляются.
http://img521.imageshack.us/img521/4171/26078150.jpg
andrey
Понятно. Мене больше всего мешают эти кнопки
http://picpicture.com/image.php?id=F5FC_4CEFE0CC&jpg
в папках.
Vadim Sterkin
Павел ,
Хехе, у меня тоже теперь не появляются :) Но скриншот с кнопками и шаблоном «Общие элементы» точно не фотошоп :) Т.е. я этого как-то добивался, но, похоже, неправильно описал.
Настройки реестра не сохранились, так что придется на выходных заново посмотреть.
Павел
Жду подсказок.))) Не нравиться пользоваться этими функциями из контекстного меню.
Гость
Уважаемый! Исправьте пожалуйста ошибку в описании! Я из-за неё битый час потратил на выяснение причин почему у меня этот твик не работает! А именно ключ реестра должен называться TasksNoItemsSelected и TasksItemsSelectedа никак не иначе!
Это ВАЖНО!!!
Vadim Sterkin
Гость,
Я исправил. Спасибо за найденную опечатку и терпение. Только не кричите больше :) Но в целом вам понравилась статья? ;)
Павел,
Проверьте с учетом комментария Гость — должно работать.
Павел
Спасибо. Гость забыл запятую поставить после TasksItemsSelected. :-D
Павел
Можно добавить кнопку вставить, которая будут отображаться, когда в папке ничего не выделено.
Vadim Sterkin
А я разве говорил, что нельзя? В таблице я и предлагаю делать это для выделенных и не выделенных элементов (папок).
Павел
Я забыл поставить вопросительный знак в конце предложения.)))) Просто до меня не доходить, как её добавить.
Vadim Sterkin
Павел, я объяснил это в статье.
Если подраздела нет, создайте и вперед.
Павел
Для меня данные кнопки бесполезны, их можно удалить?
http://img812.imageshack.us/img812/4875/38024318.jpg
Павел
Я не могу добавить кнопку «Вставить» в обычные папки. Почему? И вообще все четко проходит только с добавлением кнопок «Копировать», «Вставить» и «Удалить» в библиотеках.
http://img4.imageshack.us/img4/5216/75619702.jpg
Vadim Sterkin
Не все. См. тута>.
Не знаю, я не могу воспроизвести вашу проблему, а на скриншоте все правильно. Попробуйте открыть папку Windows и посмотреть там.
Гость
Vadim Sterkin
Стандартные кнопки не сопровождаются значками, как вы заметили. Я не исследовал этот вопрос досконально, но с наскока значок добавить не получилось.
Павел
Вадим подскажите, за что отвечает это значение. Когда удаляю, ничего не меняется. Windows.CscWorkOfflineOnline.
Vadim Sterkin
Павел, я не знаю точного ответа, но думаю, что кнопка будет отображаться в автономной папке, если сетевую папку сделать доступной автономно.
Павел
Вадим, как добавить кнопку удалить в папку «загрузки», тип папки «музыка».
Что должно происходить, когда создаешь подразделы?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell
Vadim Sterkin
Павел, папка «Загрузки» не входит в библиотеки, по умолчанию имеет шаблон «Общие элементы». GUID для нее, а также для типа папки «Музыка» есть в таблице в статье.
Визуально ничего не происходит. Вы регистрируете команды, которые в дальнейшем можно вызывать. Однако с панели проводника свои команды не вызываются (видимо, не предусмотрено… по кр. мере, мне не удалось их заставить работать). А вот откуда их можно вызывать, я расскажу в понедельник :)
Павел
Когда делаю, тип папки «Музыка», кнопка удалить не появляется.
http://img684.imageshack.us/img684/1585/42242665.jpg
Может тогда можно добавить кнопку «Воспроизвести», в папках «Общие элементы».
Павел
Что в этой папке открывать и смотреть?
Vadim Sterkin
У меня появляется все. Вам нужно создать раздел TasksItemsSelected, чтобы кнопка появлялась при выделенном файле/папке. А вы пихаете команду в раздел TasksNoItemsSelected. Она должна быть видна, если ничего не выделено, но и работать это не будет (т.е. смысла нет у этой кнопки в данном подразделе реестра).
Любой файл выделите и смотрите на панель. Кнопка должна быть добавлена для шаблона «Общие элементы» в подраздел TasksItemsSelected.
Павел
Для шаблона «Общие элементы» добавляется, ее нет когда меняю тип папки на «Музыка».
Vadim Sterkin
Павел, ну так добавьте в шаблон «Музыка», как я написал вам выше… И она будет появляться.
Если все равно не получается (а я уже исчерпал идеи и не могу сказать ничего нового), и это единственная кнопка, которая вам нужна, идите другим путем. В TasksItemsSelected удалите все параметры и создайте подраздел 0, в нем подраздел Delete. Все.
Павел
Не понимаю, почему сразу не появлялась. С подразделом 0, все равно не понял. Спасибо за помощь.))))
Diamas
Спасибо! Очень интересно и познавательно! Люблю возиться с реестром!)
filosov
Добрый день!
Очень интерестная тема — спасибо!
Правда я наверно чего-то недопонял. Создал разделы в реестре как указано, а кнопки Копировать, Вставить и Удалить появляются только в папке загрузки. Подскажите пожалуйста где нужно поправить? Или эти команды не распрастраняются на все папки?
http://radikal.ru/F/i052.radikal.ru/1101/b7/fa261bf53e35.jpg.html
Vadim Sterkin
filosov, проверьте, одинаковый ли шаблон у папок «Загрузки» и «Новая папка». Если вы внесли изменения в раздел реестра для шаблона «Общие элементы», кнопки будут только в таких папках.
Но не очень понятно, зачем вы этим занимаетесь, если у вас уже есть панель со всеми кнопками и даже со значками.
filosov
Здорово, что так быстро ответили!!!!!!
Мне однозначно нравится у Вас!!!!
Стыдно сознаться, но я не знаю где смотреть этот шаблон. (( Буду благодарен за наводку.
А еще через какое-то время кнопки во всех папках стали работать. Не понял почему.
Выше по коментариям есть такой вопрос от пользователя:
28.11.2010 at 20:16 (UTC 3)
Для меня данные кнопки бесполезны, их можно удалить?
http://img812.imageshack.us/img812/4875/38024318.jpg
ответа я не нашел. Он для меня тоже очень актуальный. Кнопки «записать на оптический диск», «добавиь в библиотеку мне тоже не нужны», с удовольствием заменил их на что-нибудь, или добавил чего.
А занимаюсь всем этим потому-то на др. комп нужно это без дополнительных программ, да и инетерестно руками все делать. ;-)
filosov
Можно еще один вопрос?
он правда не совсем в тему…
при экспорте ветви реестра. в окне сохранения файла (да и в др. окнах) отсутствуют кнопки: мой компьютер, раб.стол, сетевое окружение и др.
Подскажите пожалуйста где их включить.
вот скрин:
http://radikal.ru/F/s50.radikal.ru/i129/1101/7f/1f4f73190719.jpg.html
Vadim Sterkin
В свойствах папки вкладка
Я рад, что у вас получилось :)
Не все кнопки можно убрать этим способом, есть вшитые в оболочку.
По поводу окон Открыть/Сохранить как см. Как эффективно настроить окна “Открыть” и “Сохранить как” для ускорения навигации.
.