Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 169


202

реестр, регистратура). Этот механизм, во-первых, облегчил работу с данными приложений, и, во-вторых, упростил работу с ними. При этом следует заметить, что хотя никаких особых ограничений для хранимой в реестре информации нет, хранить в нем следует только инициализацион-ные и конфигурационные данные. В help'e no Win'32 API записано, что если данные превышают один килобайт, их целесообразно хранить в отдельном файле, а не в регистре. Мне кажется, что в большинстве случаев следует поступать именно так. Какой же должна быть программа, чтобы данные инициализации и конфигурационные данные занимали бы 1 кбайт!

В TreeView Demo Program

в о

•: Ш- 10

: и 20 , и зо

:: Ш    40 ; Й-50

В 60 . Ш- 70

:ш 80 I а эо

Рис. 19. Окно просмотра деревьев с одним "распахнутым" и девятью "нераспахнутыми" элементами

СТРУКТУРА РЕЕСТРА

Данные в реестре хранятся в виде иерархического дерева. Каждый элемент этого дерева называется ключом. Каждый ключ может содержать как ключи более низкого уровня, гак и конечные элементы данных. При необходимости приложение открывает ключ и использует данные, сохра-

203

ненные в нем. Каждый ключ может содержать любое число данных (конечно, все ограничивается объемом памяти), при этом данные могут быть в произвольном формате. Учитывая то, о чем я говорил выше, если данных очень много и они хранятся в отдельном файле, то в реестре может быть создан ключ, который ссылался бы на этот файл. Имена ключей не могут содержать обратные слеши (\), пробелы, звездочки ( * ) и вопросительные знаки. Имя ключа не должно совпадать с именами ключей, располагающихся выше него по иерархии.

РАБОТА С РЕЕСТРОМ

СОЗДАНИЕ И ОТКРЫТИЕ КЛЮчЕЙ

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

WINADVAPI LONG APIENTRY RegCrcatcKcyExA (HKEY hKey,

LPCSTR IpSubKcy, DWORD Reserved, LPSTR IpClass, DWORD dwOptions, REGSAM samDesircd,




Начало  Назад  Вперед



Книжный магазин