Хитрости Windows 7: для профессионалов | страница 146



Многие разделы (например, HKEY_CLASSES_ROOT\. jpg) содержат значения под названием PerceivedType, которые указывают на подразделы в HKEY_LOCAL_MACHINE\ SOFTWARE\Classes\SystemFileAssociations. Там разделы работают так же, как и обыкновенные разделы типа файлов, но у них гораздо больше возможностей. Вместо того чтобы быть соединенным с одним или двумя расширениями файлов, раздел воспринятого типа может быть соединен с десятками.

Скажем, вы только установили новую утилиту для изменения размеров изображений, которую требуется использовать с множеством форматов фотографий. Вместо того чтобы установить ее значением по умолчанию для этих типов файлов, вы решаете добавить элемент контекстного меню для каждого поддерживаемого формата (например, .jpg, .bmp, .png и т. д.). Конечно, можно сделать это для каждого из приблизительно графических форматов, которые поддерживает утилита, но оказывается, все, что вам нужно сделать, чтобы повлиять на все ваши файлы изображений сразу, — это добавить в раздел

HKEY__LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\image\shell\

my_new_program

По умолчанию раздел image, указанный здесь, соединен со всеми расширениями файлов, для которых PerceivedType установлен как image, а именно: .bmp, .dib, ,emf, .gif, .ico, .jfif, .jpe, .jpeg, .jpg, .png, .rle, .tif, .tiff, .wdp и .wmf.

В Windows 7 установлены только пять разделов воспринятого типа (audio, image, system, text и video), но можно в любой момент добавить свои разделы в ветвь SystemFileAssociations, что позволит вам затем соединить по крайней мере одно расширение файлов, добавив значение PerceivedType, указывающее на ваш новый раздел. Преимущество в том, что можно использовать этот раздел, чтобы добавить пользовательский элемент контекстного меню, который влияет на большое количество различных типов файлов сразу. Недостаток — это еще одно место, куда придется заглядывать, разыскивая нежелательный элемент контекстного меню или источник ошибки.

Для того чтобы разорвать соединение между расширением типа файла и воспринятым типом, сотрите значение PerceivedType из раздела расширения. Чтобы соединить тип файла с существующим PerceivedType, создайте новое строковое значение под названием PerceivedType в разделе расширения (например, HKEY_ CLASSES_ROOT\. jpg) и установите его содержание — имя воспринятого типа в ветви SystemFileAssociations.

Если вы пытаетесь стереть действие из контекстного меню, которое соединяется через воспринятый тип, File Type Doctor выводит на экран поле для подтверждения, которое перечисляет другие расширения файлов, на которые повлияет изменение. Аналогично, создавая новое действие, можно выбрать контекст; щелкните на кнопке Properties рядом со списком Scope, чтобы вывести на экран все расширений связанные с текущим выбором.