Недокументированные и малоизвестные возможности Windows XP
Шрифт:
■ AlwaysShowExt и NeverShowExt — два эти параметра строкового типа являются взаимоисключающими, то есть если в разделе присутствует один из них, то другого там быть не должно (значения им присваивать не нужно). Если в разделе будет присутствовать первый параметр, то соответствующее расширение файла всегда будет отображаться. Независимо от того, как настроена система (здесь имеется в виду возможность скрытия зарегистрированных расширений при помощи соответствующего флажка вкладки Вид диалога Свойства папки). Если присутствует второй параметр, то расширение всегда будет скрыто.
■ InfoTip — этот параметр
• Comment — в подсказке будет выводиться комментарий, вводимый в диалоге Свойства данного файла.
• Size — отображается размер файла.
• Access — отображаются права на доступ к файлу.
• Owner — отображается логин создателя файла.
• Year и другие. Несколько зарезервированных слов пишутся через точку с запятой.
На рис. 4.1 можно увидеть, что для ТХТ-файлов в подсказке отображаются сведения о размере, а также описание файла, задаваемое в параметре (По умол-чанию) раздела идентификатора.
Параметр (По умолчанию) раздела идентификатора содержит строку описания, отображаемую в поле Тип файла диалога Свойства. Значение данного параметра также отображается как название команды в пункте меню Создать контекстного меню Рабочего стола или Проводника.
■ IsShortCut — это необязательный параметр строкового типа, не содержащий никакого значения. Если он присутствует в разделе, то файлы с соответствующим расширением будут считаться ярлыками. Это приведет к тому, что внизу значка файла будет появляться стрелка, символизирующая файл ярлыка.
■ BrowseInPlace — очень интересный строковый параметр, значение которого можно не указывать. Он используется только для идентификаторов, файлы которых открывают окно Проводника — например, для идентификатора Directory. Если данный идентификатор будет содержать параметр строкового типа BrowseInPlace, то все папки в системе будут открываться с помощью браузера Internet Explorer. Например, если попытаться открыть папку С:\Windows, то браузер будет искать сайт с адресом C:\Windows. Конечно, у него это не получится, поэтому с помощью данного параметра строкового типа можно запретить пользователям доступ к папкам системы.
■ DocObject — этот параметр строкового типа также очень интересен, ведь если его создать, допустим, в разделе Directory, то можно добиться таких же действий, что и с помощью предыдущего параметра.
■ Thumbnail — еще один параметр строкового типа. Его значение указывает на файл изображения, который будет использоваться для отображения в виде эскиза страницы для файлов с соответствующим расширением (правда, данный параметр применяется не для всех идентификаторов). Например, если создать данный параметр в разделе идентификатора Drive, то все диски при использовании вида Эскизы страниц будут представлены с помощью указанного вами изображения. Если же создать данный параметр в разделе идентификатора Folder, то ваш значок будет использоваться для отображения значка Корзины.
■ DefaultDropEffect — данный параметр DWORD-типа определяет, какую именно операцию будет выполнять система при перемещении в другое окно файлов с данным расширением. По умолчанию при этом она перемещает файл любого расширения в соответствующую папку, но если значение этого параметра равно 1, то файл с соответствующим расширением будет копироваться.
Разделы ветви идентификатора
Раздел идентификатора, кроме параметров, может включать в себя и другие разделы — они определяют значок, используемый для файлов с данным расширением, текущую версию идентификатора, а также сами команды контекстного меню файла. Рассмотрим содержимое этих разделов.
■ CurVer — параметр (По умолчанию) данного раздела определяет названия идентификатора, имеющего более новые сведения о расширении. Если вы встретите этот раздел в каком-нибудь идентификаторе расширения, то можете сразу смотреть на его параметр (По умолчанию) и искать записанный в нем идентификатор — ведь настройки текущего идентификатора в системе уже не применяются.
■ DefaultIcon — параметр (По умолчанию) этого раздела определяет путь к BMP-файлу изображения, применяемому для отображения значков файлов с соответствующим расширением.
■ Shell — это, наверное, самый интересный раздел идентификатора, ведь именно его содержимое и определяет команды контекстного меню для расширения, а также их свойства. Параметр (По умолчанию) данного раздела определяет название глагола (глаголы являются подразделами раздела shell), команда которого будет использоваться при выполнении попытки открытия файлов соответствующего расширения двойным щелчком кнопкой мыши. Параметр (По умолчанию) может также хранить перечисление всех глаголов раздела — в этом случае он описывает последовательность, в которой они будут расположены в контекстном меню файла.
Сами же глаголы, как уже было сказано, являются подразделами ветви shell и могут содержать различные параметры (один глагол определяет одну команду контекстного меню). Параметр (По умолчанию) глагола определяет название команды, которая будет идентифицировать соответствующее действие в контекстном меню файлов. Если данный параметр не будет определен, то в качестве названия команды будет использоваться название подраздела глагола.
Данное правило не распространяется на так называемые стандартные глаголы системы — если их параметр (По умолчанию) не определен, то будет использоваться название команды контекстного меню, заложенное в системе для данных глаголов. К стандартным можно отнести следующие глаголы:
■ Open — добавляет в контекстное меню команду Открыть;
■ Explore — Проводник;
■ Find— Найти;
■ Openas — Открыть с помощью;
■ Runas — Запуск от имени;
■ Print — Печать;
■ Printo — в отличие от предыдущих этот глагол не создает команды контекстного меню, зато он добавляет возможность перетаскивания файлов на значок принтера.
Глаголы могут содержать следующие параметры.
■ MUIVerb — если этот параметр строкового типа присутствует в системе, то его значение будет переопределять значение параметра (По умолчанию) данного глагола.