Delphi 6 -программирование

Пресс стена конструкция. Журналисты сообщили Новости


 

20.5.2. Системный реестр Windows

Системный реестр Windows - это общедоступная база данных, хранящая индивидуальную для каждого компьютера настроечную информацию, используемую программным обеспечением. Данные в реестре упорядочены в древовидные структуры, состоящие из узлов, которые в терминологии Windows называются ключами. Каждый ключ имеет один родительский ключ, один или несколько дочерних ключей и ноль или несколько параметров типа <имя_парамет-ра>=<значение>, Исключение представляют, корневые ключи (они не имеют родителей) и дочерние ключи низшего уровня (они не имеют дочерних ключей). По умолчанию несистемное программное обеспечение регистрирует свою информацию в корневом ключе с именем hkey_current_user. Для просмотра/коррекции системного реестра используется системная утилита regedit.exe. Системному реестру Windows соответствует объект класса TRegistry.

Методы класса TRegistry:

procedure CioseKey;

Записывает информацию в ключ и закрывает его

constructor Create;

 

 

Создает объект класса TRegistry. Устанавливает в RootKey значение hkeycurrent - user и в LazyWrite значение True

function CreateKey(const Key:

String): Boolean;

Создает ключ с именем Key. Если имя начинается символом “\”, ключ является подключом корневого ключа, в противном случае - подключом текущего ключа

function DeleteKey(const Key:

String): Boolean;

Удаляет ключ Key и возвращает True, если операция прошла успешно

function DeleteValue(const Name:

String): Boolean;

В текущем узле удаляет значение параметра с именем Name

destructor Destroy;

Уничтожает объект TRegistry

TRegDataType == (rdUnknown,

rdString, rdExpandString, rdlnteger, rdBinary) ;

TRegDataInfo = record

RegData: TRegDataType;

DataSize: Integers-

end;

Возвращает в параметре value значение, определяющее тип данных для параметра сименем valueName текущего ключа: rdunknown - неизвестный тип; rdString - стро

ковый тип;rdExpandString - значением

является строка, описывающая переменную окружения Windows, например “%РАТН%”;

function GetDataInfo(const ValueName: String; var Value: TRegDataInfo) : Boolean;

rdlnteger - целочисленный тип; rdBinary - двоичный тип (набор битов)

function GetDataSize(const Valu-

eName: String): Integer;

Возвращает длину значения параметра с

именем valueName в текущем узле

TRegDataType = (rdUnknown, rdString, rdExpandString, rdlnteger, rdBinary) ;

function GetDataType(const ValueName: String): TRegDataType;

Возвращает значение, определяющее тип данных для параметра с именем ValueMame текущего ключа (см. метод GetDataInfo)

TRegKeyInfo = record

NumSubKeys: Integer;

MaxSubKeyLen: Integer;

NumValues: Integer;

MaxValueLen: Integer;

MaxDataLen: Integer;

FileTime: TFileTime;

end;

function GetKeyInfo(var Value:

TRegKeyInfo): Boolean;

Возвращает в параметре Value информацию о текущем узле: - NumSubKeys количество дочерних узлов;MaxSubKeyLen - максимальная длина имени дочернего узла; NumValues - количество параметров; Мах-valueben - максимальная длина имени параметра; MaxDataLen - максимальна длина параметра; FileTime - время последнего обновления ключа

procedure GetKeyNames(Strings:TStrings) ;

Возвращает в параметре strings имена

всех дочерних ключей

procedure GetValueNames(Strings:TStrings) ;

Возвращает в параметре Strings имена

всех параметров

function HasSubKeys: Boolean;

 

Возвращает True, если ключ имеет дочерние ключи

function KeyExists(const Key:

String): Boolean;

Возвращает True, если существует ключ с именем Key

function LoadKey(const Key, File-

Name: String): Boolean;

Создает ключ с именем Key как дочерний ключ корневого ключа и загружает из файла FileName его содержимое (параметры и все подключи)

procedure MoveKey(const OldName,

NewName: String; Delete: Boolean) ;

Копирует или перемещает ключ OldName в ключ NewName: Delete -содержит True для перемещения

function OpenKey(const Key:

String; CanCreate: Boolean): Boolean;

 

Открывает существующий или создает и открывает новый ключ с именем Key и воз вращает True, если операция прошла успешно. CanCreate разрешает/запрещает создание ключа, если он не существует

function ReadBinaryData(const

Name: String; var Buffer; BufSize: Integer): Integer;

 

 

Копирует не более Bufsize байт в переменную Buffer из параметра с именем Name.

Возвращает количество действительно скопированных байтов

function ReadXXXX(const Name:

String): YYYY;

Возвращает значение параметра типа yyyy с именем Name

function RegistryConnect(const

UNCName: String): Boolean-

 

Разрешает удаленному компьютеру ONCName доступ к системному реестру вашего компьютера

procedure RenameValue(const Old Name, NewName: Strings;

Переименовывает параметр OldName

function ReplaceKey(const Key

FileName, Back.gif" >

Начало