Зміна контекстного меню файлів і каталогів, Windows, Операційні системи, статті

У статті про реєстрації нових типів файлів було розглянуто питання про додавання стандартного дії до файлів, які не були визначені в 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. Можете спробувати там покопатися, головне не забудьте оберігаючи … еее, зберігатися! 🙂

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*