Перейти на главную страничку сайта (список статей, файлы для скачивания)
Контекстное меню папок и файлов Проводника, которое содержит такие команды, как "Открыть", "Изменить", "Открыть с помощью", "Создать" (с перечнем типов файлов) и т.д., может быть изменено по вашему желанию путём настройки некоторых разделов реестра. Также может быть изменено поведение системы при двойном щелчке на файле любого типа.
Информация о каждом зарегистрированном типе файлов и командах, применимых к нему, хранится в ветви реестра 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, будет создаваться пустой файл
нулевого размера.
Полезно также проводить не только добавление, но и удаление элементов из меню "Создать".
Людоговский Александр
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.