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

связаны с конкретным типом файлов. В подразделе-идентификаторе batfile,
который управляет командными файлами, предусмотрены подразделы для
редактирования, открытия и печати. Каждое действие определяется
параметрами, перечисленными на вкладке Типы файлов для типа "Пакетный файл"
MS-DOS и в контекстном меню, которое вызывается при щелчке правой клавишей
мыши на изображении командного файла .
Каждое действие описывается командной строкой. Значение "По умолчанию" для
этого подраздела всегда содержит командную строку, в которой имеется
псевдопеременная %1. Она указывает на файл, над которым выполняется
действие. Например, командная строка для редактирования командного файла
MS-DOS имеет следующий вид:

C:\Windows\Notepad.exe %1

Когда вы щелкаете правой кнопкой мыши на изображении командного файла и
выбираете "Изменить" (Edit), система открывает этот файл в окне "Блокнота"
(Notepad). Если используются длинные имена файлов, то в большинстве случаев
аргумент %1 следует заключать в кавычки. Без кавычек прикладная программа
может неверно интерпретировать пробелы, содержащиеся в имени файла.
Когда происходит вызов контекстного меню файла, действие обычно называется
точно так же, как и соответствующий ему подраздел. Однако так происходит
только тогда, когда параметр "По умолчанию" содержит пустую строку. Если
эта строка не пуста, то она становится именем действия. Это дает
возможность в интернациональных версиях Windows использовать английские
названия подразделов реестра (например, open) и названия на ином языке в
контекстных меню.
По соображениям совместимости с определенными прикладными программами
Windows 3.x можно обнаружить подразделы Shell в подразделах расширений, а
не в подразделах-идентификаторах, но это случается исключительно редко.

Идентификаторы CLSID

Точно так же как все мы нуждаемся в личных идентификаторах системы
социального обеспечения (речь идет о США. - Прим. пер.), чтобы отличать нас
от других граждан страны, программному объекту требуется GUID - глобально
уникальный идентификатор (globally unique identifier). В системе Windows 95
к GUID относятся CLSID (classes identifiers, идентификаторы классов),
которые впервые были использованы в спецификации OLE. CLSID - это 16-байт
значение, содержащее 32-шестнадцатеричные цифры в формате 8-4-4-4-12 (8
цифр, дефис, 4 цифры, дефис и т. д.).
Производители программного обеспечения могут получить CLSID для объекта,
запросив его в корпорации Microsoft или запустив программы, которые входят
в состав Microsoft SDK (Uuuidgen.exe) и DDK (Guidgen.exe). Когда вы
запускаете такую программу, первые восемь шестнадцатеричных цифр
генерируются случайным образом, следующие четыре формируются исходя из
текущей даты и времени, а последние 20 цифр вычисляются на основе
аппаратных характеристик компьютера. Вероятность формирования одного и того
же числа дважды ничтожно мала.
CLSID представляют собой просто имена, которые используются операционной
системой для идентификации указанных объектов. Например, подраздел