Изменение контекстного меню файлов и каталогов = Информационный портал г.Карталы - Изменение контекстного меню файлов и каталогов
Информационный портал г.Карталы   
  Главная arrow Статьи arrow Компьютеры, оргтехника arrow Изменение контекстного меню файлов и каталогов
Главное меню
Объявление
 
 25.04.2024
Изменение контекстного меню файлов и каталогов Версия для печати Отправить на e-mail
Рейтинг: / 1
ХудшаяЛучшая 
Написал Evgmed   
25.09.2006

Чеботарев Игорь

В статье о регистрации новых типов файлов (http://www.whatis.ru/reg/reg_n11.shtml) был рассмотрен вопрос о добавлении стандартного действия к файлам, которые не были определены в Windows. Если интересно, то рекомендую сначала прочесть ту статью, чтобы легче было воспринять изложенное ниже. А в этой статье пойдет вопрос о добавлении к контекстному меню ВСЕХ файлов и папок каких-то действий. Вы, наверное, обратили внимание на новые пункты, появляющиеся при установке WinRAR'a. А вот как их добавлять самому? Аналогичный вопрос мне попадался на каком-то форуме, вот я и решил написать небольшое руководство :). Интересно? Тогда поехали.

Конечно, можно попытаться добавлять к каждому расширению команду, но это сделать практически нереально (сколько всего править придется...). Но, есть способ лучше! В ветви HKEY_CLASSES_ROOT есть раздел с названием "*". Если в нем добавить пункт, то он будет применяться ко всем расширениям файлов. Давайте я попробую проиллюстрировать это на примере добавления пункта меню на архивацию файла. Открывайте раздел HKEY_CLASSES_ROOT\*\ и создавайте там подраздел shell (у меня его не было). В нем надо создать подраздел с каким-то уникальным именем - я назвал его arj. В параметре "По умолчанию" этого раздела надо ввести название пункта меню, которое будет у вас выводиться на экране. Задаем "Архивировать ARJ". Теперь в разделе arj надо создать раздел command, в параметре "По умолчанию" которого надо ввести выполняемую команду, т.е. "arj a arc %1". Здесь arc - имя нашего архива, а %1 - передает в качестве параметра имя файла, на котором мы кликнули мышкой. Конечно, здорово было бы создавать архив с именем выбранного файла, но я не знаю, как из передаваемого параметра вычленить это имя (оно передается вместе с путем, а это вызывает ошибку архиватора). Если кто-то знает, как это сделать и поделится информацией, я буду очень рад.

Для наглядности напишу, как это все будет выглядеть в reg-файле:

REGEDIT4

[HKEY_CLASSES_ROOT\*\shell\arj]
@="Архивировать ARJ"

[HKEY_CLASSES_ROOT\*\shell\arj\command]
@="arj a arc %1"


Что любопытно: если файл не зарегистрированного типа, то это действие будет использоваться для него по умолчанию. Т.е. вы можете щелкнуть по нему дважды мышкой, и файл будет автоматически заархивирован. Для зарегистрированных файлов этот пункт надо выбирать из контекстного меню. Таким образом можно сделать открытие незарегистрированных файлов в блокноте, достаточно ввести в параметр "По умолчанию" раздела command строку "notepad.exe %1". Теперь по даблклику такие файлы будут автоматически открываться в блокноте!

А как же быть с каталогами? Их мы тоже не обойдем стороной. Ищите в HKEY_CLASSES_ROOT раздел Folder. Последовательность действий для него аналогична описанному выше. Только, лучше если вы используете команду "arj a arc %1 -r" чтобы архивировалось с сохранением дерева вложенных каталогов.

Теперь вы сможете модифицировать это меню под себя так, как вам будет удобно. Правда, есть и некоторые ограничения: вы сможете добавлять пункты только в первый блок меню (они разделяются горизонтальной линией). Добавление в другие блоки видимо, возможно, но как это сделать я не нашел. Дело в том, что у внешних программ, добавляющих туда пункт меню, используется в качестве параметра "По умолчанию" код CLSID для модуля ActiveX. Эти пункты добавляются в подраздел shellex. Можете попробовать там покопаться, главное не забудьте предохраня... эээ, сохраняться! А если у вас что-то получится, напишите мне, я обязательно доработаю статью.

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

Комментарии

Powered by AkoComment 2.0!

 
< Пред.   След. >



Карталинский район:
Население: 45,544 тыс. человек
Площадь: 4726,38 км2

Герб Герб

Новое
 
Go to top of page  Главная | Новости | Статьи | Транспорт г.Карталы | Галерея | Карта Карталов | Поиск | Ссылки | Сонник | Форум | Поздравления | Справочник предприятий | Ежедневный гороскоп |
Рейтинг ресурсов УралWeb web stats Яндекс цитирования Auto Web Pinger
© Copyright 2004-2024 · Администратор: Евгений Медведников,г. Карталы
Дизайн: Сергей Галенко
Руководитель проекта: Евгений Медведников,
При использовании материала ссылка на www.kartaly.ru обязательна
За достоверность материалов и статей размещенных нашими посетителями администрация ответственности не несет

Страница сгенерирована за 0.068069 секунд