"Барри Саймон "О реестре Registry и настройке системы Windows95" (прогр.)" - читать интересную книгу автора

мыши на "Рабочем столе" (Desktop), по открытой папке или окну "Проводника".
Это меню - оно позволяет создавать новые документы зарегистрированных
прикладных программ - определяется через подразделы ShellNew в HKCR.
ShellNew - это обычно единственный подраздел для расширения (если оно
вообще его имеет). Однако, если с расширением связано несколько записей
меню New, в нем содержится несколько вложенных подразделов ShellNew.
Например, раздел .doc имеет три отдельных подраздела, представляющих
различные записи: Word.Document.6, Word.Document и Notepad.Document.1, у
каждой из которых есть свои собственные ShellNew. Некоторые расширения
могут содержать вложенные подразделы ShellNew, даже если у них есть только
одна запись в меню New.
Подраздел ShellNew содержит один или несколько параметров:

поле NullFile, которое содержит пустую строку (" "),
поле Data, которое содержит двоичное значение,
поле FileName, которое содержит имя файла,
и
поле Command, которое содержит маршрут доступа к исполнимому модулю и все
необходимые аргументы.

Каждое из этих полей при выборе пункта меню "Создать", который он
определяет, используется для своей цели:

NullFile создает новый пустой файл;
FileName создает копию указанного файла (если нет поля NullFile). Если это
значение не содержит маршрута доступа, то система ищет файл в каталоге
C:\Windows\ShellNew;
Data копирует указанные двоичные значения в новый файл (если нет ни поля
NullFile, ни поля FileName);
Command вызывает исполнимый модуль при создании нового файла.

Windows создает новый файл в том месте, где был осуществлен щелчок правой
клавишей мыши - на "Рабочем столе", в папке или в "Проводнике". Имя нового
файла всегда наследует формат:

New Publicname .ext

где Publicname - строка, хранимая в поле "По умолчанию"
подраздела-идентификатора, а ext - соответствующий подраздел расширения.
Если вы создаете текстовый файл, например Windows называет его Текстовый
документ.txt (New Text Document.txt). Из значения по умолчанию в
подразделе-идентификаторе txtfile считывается Текстовый документ, а txt -
соответствующее расширение.
Для демонстрации возможностей HKCR мы создали пункт меню "Создать" для
шаблона счета. Этот пример может показаться нерациональным, но он поможет
понять некоторые концепции, лежащие в основе реестра.
Сначала создадим подраздел .inv, указывающий на подраздел-идентификатор
InvoiceFile. Этот подраздел в поле "По умолчанию" должен содержать значение
"Счет". Для появления пункта "Счет" в меню "Создать" необходимо, кроме
того, сопоставить этому расширению исполнимый модуль. Для этого просто