Войти

Показать полную графическую версию : Батник для контектсного меню Мой Компьютер


Страниц : 1 [2]

exFirst
30-11-2006, 14:16
Америки этим текстом, думаю, я не открою... но многим полезен будет. Авторство не моё. Где взял - не помню.

-----


Настройка контекстного меню Проводника

Контекстное меню папок и файлов Проводника, которое содержит такие команды, как "Открыть", "Изменить", "Открыть с помощью", "Создать" (с перечнем типов файлов) и т.д., может быть изменено по вашему желанию путём настройки некоторых разделов реестра. Также может быть изменено поведение системы при двойном щелчке на файле любого типа.

Хранение информации о зарегистрированных типах файлов

Информация о каждом зарегистрированном типе файлов и командах, применимых к нему, хранится в ветви реестра HKEY_CLASSES_ROOT. Каждому зарегистрированному типу файлов соответствуют два подраздела в разделе HKEY_CLASSES_ROOT. Первый подраздел имеет название, соответствующее расширению имени файла. В своём значении "по умолчанию" этот подраздел содержит идентификатор, который используется как название второго подраздела. Во втором подразделе хранятся описания команд, применяемых к данному типу файлов. Например, текстовому типу файлов в реестре соответствуют два подраздела - ".txt" и "txtfile". Второй подраздел "txtfile" содержит в своём значении "по умолчанию" текст описания для данного типа файлов (в данном случае - "Текстовый документ"), которое используется системой в различных случаях.

Информация, относящаяся одновременно ко всем типам файлов, хранится в подразделе "*" ветви реестра HKEY_CLASSES_ROOT. Информация, относящаяся ко всем незарегистрированным типам файлов, хранится в подразделе "Unknown" ветви реестра HKEY_CLASSES_ROOT. Информация, относящаяся к папкам, хранится в подразделах "Directory" и "Folder" ветви реестра HKEY_CLASSES_ROOT.

Настройка контекстного меню

Подраздел shell раздела "txtfile" содержит в себе подразделы, определяющие действия над данным типом файлов. Иногда эти подразделы называются "глаголами" (verbs). Если выбрать щелчком правой кнопки мыши файл с расширением "txt", то в контекстном меню будут присутствовать команды, соответствующие существующим глаголам.

Каждый подраздел-глагол может содержать подраздел command. Этот подраздел содержит командную строку в параметре "по умолчанию". Параметр "%1" в командной строке будет заменён путём и именем выбранного файла.

Если в подразделе-глаголе определено значение параметра "по умолчанию", это значение будет использовано как строка в контекстном меню. Если такое значение не определено, то сам глагол (т.е. имя подраздела) будет использован в качестве строки меню. Однако, при использовании некоторых определённых имён глаголов (подразделов) в контекстном меню отображаются предопределённые строки, зависящие от локализованной версии системы. Например, при использовании глагола "open" в контекстном меню может появиться строка "Открыть". Такие глаголы называются каноническими. Для некоторых канонических глаголов вообще не отображается строка меню, например, глагол "printto" зарезервирован для операций drag-and-drop.

Глагол команды "по умолчанию" (т.е. выполняемой при двойном щелчке и выделенной жирным шрифтом в контекстном меню) присутствует в качестве значения "по умолчанию" раздела "shell". Если такое значение не определено, используется канонический глагол "open", какой-либо другой канонический глагол или первый глагол из указанных (перечислено в порядке убывания приоритета).

Порядок команд в меню соответствует расположению глаголов в реестре (только команда "по умолчанию" стоит всегда первой). Для "искусственного" задания порядка команд можно перечислить имена глаголов через запятую в параметре "по умолчанию" раздела "shell".

Примечание: информация в реестре, касающаяся того или иного типа файлов и его глаголов, может быть изменена и без ручной правки реестра - при использовании диалога "Открыть с помощью" ("Выбор программы") с установкой флажка "Использовать для всех файлов такого типа" (вызывается из контекстного меню проводника) или при использовании вкладки "Типы файлов" диалога "Свойства папки" (вызывается из меню "Сервис" - "Свойства папки..." проводника).

Примеры настройки контекстного меню

Создадим команду открытия окна командного интерпретатора из контекстного меню папки с переходом (командой "cd") в эту папку. Это избавит от необходимости каждый раз после запуска (например, из меню "Пуск" - "Выполнить...") окна командного интерпретатора вручную набирать команду "cd" для перехода к нужному каталогу. Укажем в разделе

HKEY_CURRENT_USER\Folder\Shell\MenuText\Command\

значение "по умолчанию", содержащее такую командную строку:

cmd.exe /k cd "%1"

Кроме того, укажем в разделе

HKEY_CURRENT_USER\Folder\Shell\MenuText\

значение "по умолчанию", содержащее наименование команды контекстного меню, например, "Command Prompt Here". На этом команда (новый глагол "MenuText") полностью готова к работе.

Создадим команду открытия файла с незарегистрированным расширением как текстового в кодировке MS-DOS с помощью редактора MS-DOS. Такая команда может пригодиться, например, для быстрого открытия (с правильной интерпретацией кодировки) файлов в формате предоставления отчётности в Пенсионный фонд РФ (такие файлы могут быть автоматически сформированы различными программами, например бухгалтерскими). Укажем в разделе

HKEY_CLASSES_ROOT\Unknown\shell\OpenAsTextMSDOS\command\

значение "по умолчанию", содержащее такую командную строку:

C:\Windows\system32\edit.com "%1"

Кроме того, укажем в разделе

HKEY_CLASSES_ROOT\Unknown\shell\OpenAsTextMSDOS\

значение "по умолчанию", содержащее наименование команды контекстного меню, например, "Открыть как текст MS-DOS". На этом команда (новый глагол "OpenAsTextMSDOS") полностью готова к работе.

Создадим команду открытия MD-файла конфигурации 1С:Предприятия v7.7 двойным щелчком с запуском программы на базе того каталога, в котором находится MD-файл. Такая команда может пригодиться для быстрого запуска 1С:Предприятия при работе с любым файловым менеджером. Для этого в разделе

HKEY_CLASSES_ROOT\.MD\

в параметре "по умолчанию" найдём название второго раздела, который содержит перечень глаголов. Укажем в найденном таким способом разделе

HKEY_CLASSES_ROOT\<ИмяРаздела>\shell\open\command\

значение "по умолчанию", содержащее такую командную строку:

"C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D"%1\.."

Кроме того, укажем в разделе

HKEY_CLASSES_ROOT\<ИмяРаздела>\shell\open\

значение "по умолчанию", содержащее наименование команды контекстного меню, например, "Открыть в конфигураторе". На этом команда (глагол "open") полностью готова к работе. Примечание: аналогичным способом можно создать команды контекстного меню MD-файла "Открыть монитор", "Открыть Предприятие" и "Открыть Предприятие монопольно", используя разные ключи запуска для 1cv7s.exe.

Настройка меню "Создать"

Данное меню открывается, если выбрать команду "Файл" - "Создать" в окне проводника, а также если щёлкнуть правой кнопкой мыши на рабочем столе или проводнике на свободном месте открытой папки и выбрать пункт "Создать". Это меню может быть изменено по вашему желанию путём настройки некоторых разделов реестра.

Заготовки для файлов, которые создаются с помощью меню "Создать", хранятся в каталоге ShellNew в папке WINDOWS. Команды создания файлов содержатся в реестре в разделах

HKEY_CLASSES_ROOT\<ИмяРаздела>\ShellNew\

"ИмяРаздела" совпадает с расширением имени файла, например ".txt". Строковый параметр FileName может содержать имя файла-шаблона, который находится в папке WINDOWS\ShellNew\, например "WINWORD8.DOC" для DOC-файлов. Другой вариант: если здесь же создать пустой строковый параметр NullFile, будет создаваться пустой файл нулевого размера.

Полезно также проводить не только добавление, но и удаление элементов из меню "Создать".

oval7
24-03-2007, 11:14
А таки что с релизом пророги-то?

garbals
20-04-2007, 14:32
и где взять это чюдо програмной мысли
хочю сделать продвинутое меню для мой комтьютер с подразделами и иконками так можно ??

dimich22
20-04-2007, 15:01
garbals
Контекстное меню для "Мой компьютер" можно взять на первой странице. А вообще посмотрите в сторону FileMenu Tools (http://www.lopesoft.com/en/). На основе этой программы, кстати, сделан соответствующий аддон (http://forum.oszone.net/thread-80611.html)

garbals
20-04-2007, 15:29
FileMenu Tools программа хоррошая но хочется просто поддготовить 1 файлик который будет срабатывать при установке и меню бутет как надо

Narm
26-04-2007, 17:02
хочю сделать продвинутое меню для мой комтьютер с подразделами и иконками
посмотрите в сторону FileMenu Tools
Думаю кому-нибудь это будет полезно.
В общем копал,я,копал и накопал вот что.Для того чтобы сделать меню с подразделами и иконками нужно зарегестрировать .dll библиотеки,которые содержат команды и соответственно сами иконки.За пример возьмем две проги:WinRAR и FileMenu Tools.
Добавление пункта в контекстное меню файлов идет так...[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\WinRAR]
@="{B41DB860-8EE4-11D2-9906-E49FADC173CA}" и папок... [HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\WinRAR]
@="{B41DB860-8EE4-11D2-9906-E49FADC173CA}"отсюда мы попадаем в ветку HKEY_CLASSES_ROOT\CLSID\{B41DB860-8EE4-11D2-9906-E49FADC173CA} в котором есть ключик InProcServer32.В параметре "(По умолчанию)" этого клуюча и прописывается та самая .dll библиотека.Но так как меню можно изменить (удалить или добавить пункты от самой программы) то инфа также прописывается в реестре (в раздел HKEY_CURRENT_USER\Software\WinRAR\Setup\MenuItems).
С FileMenu Tools все тоже самое.Поэтому копать,я думаю(могу и ошибаться),нужно в направлении .dll библиотек,которые идут вместе с программами.




© OSzone.net 2001-2012