Файл: Литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.02.2024

Просмотров: 80

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Регистрация типа документа и расширения имени файла в реестре.

Если приложение создает и обслуживает файлы данных, можно создать ключи для регистрации типа документа и определенного расширения имени файла данных. В этом случае будем говорить о документах зарегистрированного типа и зарегистрированном расширении имени файла.
Для зарегистрированных типов документов используется свой собственный значок, оболочка выполняет предусмотренные команды, реализуются дополнительные команды, расширяющие возможности оболочки и создаются другие, специфичные для данного типа, возможности.
Если расширение имени файла не зарегистрировано в системе, то для таких файлов используется общий значок в виде страницы со стилизованным изображением распахивающегося окна. При двойном щелчке по такому значку (команда Open) открывается диалоговое окно «Открыть с помощью…» (Open With…).
При регистрации расширения и типа документа создаются два входа реестра: ключ расширения имени и ключ типа документа.
Ключ расширения имени файла

Вход расширения имени файла привязывает расширение имени файла к идентификатору типа документа. Чтобы зарегистрировать расширение, необходимо создать в ключе HKEY_CLASSES_ROOT ключ расширения, используя в качестве его имени расширение имени файла (включая точку в его начале).
Значением параметра «По умолчанию» для этого ключа указывается строка символов, уникальным образом представляющая данный тип документа и называемая «Идентификатор типа» (TypeId):

HKEY_CLASSES_ROOT

.ext

@ = TypeId .
Строка идентификатора типа предназначена для внутреннего использования системой и не предъявляется пользователю непосредственно. Поэтому ее лучше не локализовать (использовать символы OEM набора).
Система не обеспечивает какого-либо контроля использования расширений. Следовательно, необходимо определять уникальные идентификаторы расширений и сверяться с реестром, чтобы избежать перезаписи и замены существующих расширений. Необходимо избегать регистрации расширений, которые переопределяют общепринятые расширения имен файлов, используемые системой. Примеры таких расширений: .doc, .txt, .exe, .com, .bat.

Ключ типа документа

Второй вход Реестра, который создается для регистрации типа документа – это ключ типа документа (TypeId). Имя этого ключа определяет параметр «По умолчанию» в ключе расширения имени файла:

HKEY_CLASSES_ROOT

.ext @= TypeId

. . .

TypeID @ = Uset Type Name .

В ключе типа располагаются параметры, определяющие свойства определяемого типа документа. В качестве значения параметра «По умолчанию» этого ключа указывается строка символов, определяющая пользовательское имя типа документа (User Type Name). Для формирования пользовательского имени типа используют элементы, отражающие имя фирмы, имя приложения, тип данных, версию приложения. Пользовательское имя может включать до 40 символов.
Помимо этого «длинного» имени можно присвоить типу документа короткое пользовательское имя. Короткое имя используется в операциях drop-down, в контекстных меню и в операциях OLE.
Для регистрации короткого имени необходимо в ключе типа документа создать подключ CLSID и в его параметре по умолчанию указать связанный с ним идентификатор класса {CLSTypeId} . Затем в подключе CLSID ключа HKEY_CLASSES_ROOT создать ключ CLSTypeId} с подключом AuxUserType. Значение параметра «По умолчанию» этого подключа и будет коротким именем типа документа (Short Type Name):

HKEY_CLASSES_ROOT

.ext

@= TypeId

...

TypeID

@ = UsetType Name

CLSID = {CLSTypeId}

...

CLSID

{CLSTypeId}

AuxUserType

@ = Short Type Name .