Нижегородский файловый портал
RSS - каналы
Главное меню
Категории каталога
Мои статьи [5]
Школа покера [5]
Софт [40]
Радиолюбителям и электрикам [8]
Интернет [167]
Система [89]
Комплектующие ПК [47]
Безопасность [56]
Программирование [18]
Веб-дизайнеру [5]
Игры [6]
Полезные советы [24]
Кулинария [1]
Телефония [10]
Мобильник [17]
Планшеты [14]
Медицина [5]
Работа [4]
Домашнему мастеру [0]
Строительство и ремонт [19]
Для сада и огорода [2]
Юмор и приколы [12]
Интересное [114]
Пластики [3]
Разное [238]
Мини-чат
Правила мини-чата



Мини-чат в окне
Погода в Нижнем
Яндекс.Погода
Главная » Статьи » Система

Добавляем собственные команды в контекстное меню Проводника
Сейчас я расскажу, как добавить свою команду в контекстное меню Проводника.

Информация о контекстном меню Проводника и Рабочего стола хранится в разделе реестра HKEY_CLASSES_ROOT\Directory\Background\Shell. Именно отсюда система узнает, какие команды нужно отобразить в контекстном меню и какие программы нужно запустить, когда пользователь щелкает по выбранной команде меню. Таким образом, вооружившись этими знаниями, мы сможем сами создавать нужные нам команды.

Итак, чтобы добавить новую команду в контекстное меню, достаточно создать в разделе
HKCR\Directory\Background\Shell новый подраздел. Предположим, мы хотим, чтобы в меню появилась команда, запускающая стандартный Блокнот. Создаем подраздел notepad и сразу можем проверить и убедиться, что в контекстном меню Рабочего стола появилась одноименная команда. Нам даже не пришлось перезагружать компьютер. Естественно, такая команда не очень нас устраивает, и мы хотим задать собственный текст, например, Блокнотик. Для этого редактируем параметр по умолчанию созданного подраздела и записываем для него новое значение, которое мы хотим видеть, например, прописываем слово Блокнотик. Снова проверяем и убеждаемся, что в контекстном меню появилась наша команда.



Теперь настраиваем другие параметры, чтобы созданная команда реагировала на щелчки мышью. Подраздел может содержать в себе другие вложенные подразделы и различные параметры строкового типа. Сначала рассмотрим параметры. Мы уже знаем, что параметр по умолчанию определяет название команды. Также можно использовать следующие параметры (привожу только часть возможных параметров):
  • MUIVerb – значение данного параметра заменяет собой значение параметра по умолчанию, т.е. мы можем в этом параметре задать имя для команды в меню.
  • Extended – при наличии данного параметра без значения говорит системе о том, что команда должна отображаться только при нажатии клавиши Shift. Вы можете посмотреть на подраздел HKEY_CLASSES_ROOT\Directory\Background\shell\cmd, в котором содержится такой параметр. Поэтому, если держать нажатой клавишу Shift, то в контекстном меню появится команда Открыть окно команд.
Теперь перейдем к подразделам. Прежде всего, нужно создать подраздел command. Параметр по умолчанию данного подраздела должен содержать в себе команду, которая будет выполняться при выборе соответствующего элемента контекстного меню. В нашем случае, нужно прописать команду notepad.exe.



Как видите, несколько несложных операций в разделе реестра и мы получаем новую команду для контекстного меню Рабочего стола и Проводника. А зная алгоритм создания новой команды, вы можете изучить и отредактировать параметры от других программ, которые прописали свои разделы в вашей системе.

Включение/выключение эскизов

Рассмотрим практический пример создания собственной команды в меню Проводника. Если вы предпочитаете просматривать файлы в режиме Значки, то заметили, что, например, значки картинок отображаются в виде эскизов. В настройках папки можно изменить данное поведение и отключить показ эскизов. Но включать или отключать эти настройки очень утомительно. Судите сами – сначала надо нажать на клавишу Alt, чтобы появилась строка меню у Проводника, далее выбираем меню Сервис | Параметры папок…. После этого нужно переключиться на вкладку Вид и поставить или убрать флажок у команды Всегда отображать значки, а не эскизы. Упростим задачу при помощи реестра и небольшого VBS-сценария, который циклически меняет значения параметра IconsOnly в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced. Создадим новый раздел ToggleThumb в разделе HKEY_CURRENT_USER\Software\Classes\Directory\Background\Shell и присвоим параметру по умолчанию строковое значение Включить/Выключить эскизы. Тем самым мы создали новую команду для контекстного меню папки в Проводнике. Обратите внимание, что теперь мы используем раздел HKEY_CURRENT_USER, чтобы действие примера распространялось только на одного пользователя. Теперь создаем подраздел command и прописываем в параметре по умолчанию строку wscript.exe "%WinDir%\togglethumbs.vbs". Далее нужно создать сценарий, который будет переключать режим показа эскизов.
Set WshShell = CreateObject("Wscript.Shell")
strValue = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\IconsOnly"
strIconsOnly = WshShell.RegRead(strValue)
If strIconsOnly = 0 Then
WshShell.RegWrite strValue,1,"REG_DWORD"
Else
WshShell.RegWrite strValue,0,"REG_DWORD"
End If
WshShell.SendKeys "{F5}"

Сохраните созданный сценарий под именем togglethumbs.vbs и скопируйте его в папку Windows.
Теперь вы можете открыть Проводники и проверить работу новой команды. Для удобства я сначала выбрал режим Крупные значки, которые отображаются в виде эскизов.

Отображение файлов в виде эскизов

Далее я выбрал в контекстном меню пункт Включить/Выключить эскизы и получил следующий результат – вместо эскизов я увидел значки программы Adobe Photoshop, ознакомительную версию которой я поставил несколько дней назад на своем компьютере.

Отображение файлов в виде значков

Идею для данного примера я почерпнул со страницы http://www.winhelponline.com/blog/toggle-thumbnail-previews-right-click-menu-windows-vista-windows-7/ и немного модифицировал ее. Автор оригинального примера предлагает для большего удобства воспользоваться готовыми REG-файлами создания (togglethumbs.reg) и удаления (undo.reg) разделов для новой команды, а также готовый сценарий (togglethumbs.vbs). От себя добавлю, что копирование файла сценария в папку Windows, используемое автором идеи – не самый лучший вариант, так как данная папка является защищенной и не нужно засорять ее собственными файлами. Поэтому, если вы будете использовать пример на своем компьютере, то переделайте его таким образом, чтобы файл сценария находился в более доступном для пользователя месте.

Удаление содержимого папки без удаления самой папки

Практически аналогично добавляется собственная команда и в контекстное меню папки. Недавно я нашел один пример применения контекстного меню папки в Проводнике.

Автор примера рассказывает, как добавить в контекстное меню папки команду для удаления содержимого папки без удаления самой папки. Т.е. вам не придется открывать папку, выделять все файлы и нажимать на клавишу Delete, достаточно выбрать команду Удалить содержимое папки. Я немного модифицировал пример, чтобы он более органично смотрелся на русской версии Windows.

Для этого добавляем в раздел
HKEY_CLASSES_ROOT\Directory\shell подраздел DeleteFolderContent и создаем в нем строковый параметр MUIVerb со строкой Удалить содержимое папки. Далее в разделе DeleteFolderContentcommand и в его параметре по умолчанию прописываем строчку:
создаем подраздел
cmd /c "cd /d %1 && del /s /f /q *.*"
Все готово и можете пользоваться примером.

Заключение

Хочу предупредить, что я рассказал про основные приемы создания команд в контекстном меню Проводника. Реестр — достаточно сложная штука и существуют другие способы работы с контекстном меню.

Как видите, вы можете самостоятельно настроить контекстное меню Проводника. Все зависит от вашей фантазии. Если вам нужна дополнительная информация о параметрах реестра, то можете скачать электронный справочник Реестр Windows на портале.
Добавил: Админ-21NN | Просмотров: 6340 | Рейтинг: 5.0/2


Обратите Ваше внимание на другие статьи:

Уважаемые пользователи, пожалуйста, оставляйте комментарии! Нам очень важно Ваше мнение!
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.

    
Меню пользователя
Аватар гостя

Приветствуем Вас, Гость

Логин:
Пароль:
Поиск по сайту
Поиск по названию
Поиск по тегам
Горячие темы форума
Стол заказов
поговорим о софте
Зарабатываем деньги
Детская игра Подарки...
Тест скорости подклю...
кое что о Windows
Кто ты, человек?
Новая валюта портала
Все о сексе
"Что мешает нам...
Культура
Афоризмы
Лучшие 13 анекдотов ...
как защитить свой ко...
восстановление данны...
Я ненавижу Дом-2
Волга-Телеком
Кулинария "Кокт...
Жалобы
С Днем Победы!!!
Прикольные картинки
С праздником Пасхи !...
Статистика
Новых за месяц: 130
Новых за неделю: 41
Новых вчера: 6
Новых сегодня: 3
Всего: 5499
Из них:
Администраторов: 6
$$$-Модераторов: 2
Модераторов: 5
Прокураторов: 5
-----------------
далее:
Проверенных: 260
Пользователей: 3034
Новичков: 1884
Заблокированных: 110
-----------------
Из всех пользователей:
Мужчин и парней: 4322
Женщин и девушек: 1176
Именинники
Поздравляем с Днем рожденья:

romka(31), dolzr(53), ransioojne(86), Kostik(32), Sovenok(32), Ufozver(24), ethan21(26), cavaleron(26), Аревка(38), zdvfzasxdv(24), Quantum0(23)
Режим ON-LINE
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сейчас на портале:
Наша кнопочка
Нижегородский файловый портал

HTML-код кнопки:
Реклама
Размещение рекламы

Яндекс.Метрика
Регистрация сайта в каталогах, раскрутка и оптимизация сайта, контекстная реклама Ремонт холодильников в Нижнем Новгороде

Copyright © BankRemStroy © 2009-2019
x