Программирование в системе Windows2000, страница 24

Под идентификатором приложения для типа файла создается подключ Defaultlconи его значение устанавливается в соответствии с именем файла пиктограмм (файл ЕХЕ, DLL или ICO) и индексом пиктограммы. Если индекс пиктограммы отрицателен, он соответствует идентификатору ресурса пиктограммы. Если он положителен или равен нулю, то обозначает позицию пиктограммы в файле. Пиктограммой в нулевой позиции должна быть пиктограмма приложения, если файл пиктограмм имеет расширение ЕХЕ, поэтому позиция обычно имеет значение больше нуля. На рис. 1.57 показана запись Defaultlconдля звукового файла.

Рисунок 1.57. Запись Defaultlcon

системного реестра

Регистрациякоманд                                                                                                          ''-.

Система Windows 2000 предоставляет пользователю Доступ к командам для пиктограмм, предусмотренным в их контейнере, включая Send To, Cut, Copy, Paste, Create Shortcut, Delete, Rename и Properties. Для файла определенного типа можно предусматривать дополнительные команды, регистрируя их для типа файла в системном реестре. Эти команды, называемые также глаголами, включают Open, Edit, Play и Print. Можно также добавлять другие команды, которые применяются только к файлу данного типа, например команду What's This? (что это).

Для ввода команд, относящихся к типу файла, должен быть создан подключ Shellключа HKEY_CLASSES_ROOT, подключ для каждого глагола и подключ Commandдля каждого имени команды. Ниже показана иерархия регистрации команд:

HKEY_CIASSES_ROOT

Applicationldentifier

Shell [ = default verb [,verb2 [,..]] ] Verb [ = Menu Name ]

Command = Path [parameters] ddeexec = DDE command string

Application = DDE Application Name Topic = DDE Topic name

Система Windows 2000 поддерживает набор обычных глаголов (Open, Print, Find rf Explore), которые автоматически получают имена пунктов меню и назначения клавиши доступа. Имена пунктов меню локализованы в соответствии с загруженной в настоящее время многоязычной версией Windows. Если для типа файла зарегистрированы дополнительные глаголы, то для конкретной версии Windows должны быть указаны соответствующие имена пунктов меню и клавиши доступа.

Глаголы могут поддерживать выполнение команды при получении пути доступа к приложению или командной строки динамического обмена данными (DDE — dynamic data exchange) с соответствующими переключателями командной строки. Параметр %1 используется в качестве метки-заполнителя для файла, выбранного пользователем при настройке командных строк. Каждый глагол может иметь собственную команду. Одно приложение может выполнять команду Open, другое — команду Print. С другой сторо ны, глаголы могут иметь одинаковое назначение.

РегистрацияобъектовOLE

Определения объектов OLE хранятся в системном реестре. Для регистраци объекта OLE должен быть создан подключ CLSIDключа HKEY_CLASSES_ROOT <ApplicationIdentifier> для типа файла. В качестве значения этого подключа долже быть установлен уникальный идентификатор объекта OLE. Второй этап регистрации объекта OLE —  создание подключа идентификатора класса объекта в ключе hkey_classes_root\<clsid>. В этом подключе должны быть созданы дополнительные подключи для определения сервера OLE и другой информации объекта OLE.

Инсталляция

Определяя при инсталляции приложений место размещения файлов приложения и способ установки разделяемых файлов, необходимо руководствоваться следующими Рекомендациями. Эти рекомендации позволяют предотвратить беспорядочное заполнение диска пользователя файлами и избавят пользователя от ненужных ему файлов прр просмотре каталогов.

Размещениефайлов

Файлы приложений не следует размещать в каталоге Windows или в подкаталоге System этого каталога. Размещение файлов в этих каталогах может привести к конфликту имен, а также к переполнению каталогов до такой степени, что может снизиться производительность. При установке приложения (допустим, My Application) в каталоге ProgramFilesили в другом каталоге по выбору пользователя должен быть создан каталог с именем приложения. Для определения имени каталога для размещения программ должно использоваться значение ProgramFilesDirв ключе HKEY_LOCAL_MACHINE\SOFrWARE\Microsoft\Windows\CurrentVersion, поскольку фактически каталог ProgramFilesможет иметь разные имена на различных компьютерах.