function RegKeyParamWrite

function RegKeyParamWrite

Previous pageReturn to chapter overviewNext page

function RegKeyParamWrite(ARoot, AName, AParam : string; AType, AValue : string) : boolean;

 

Записывает значение AValue в параметр AParam типа  AType ключа реестра AName в разделе ARoot. В случае отсутствия ключа или параметра они автоматически создаются. Функция возвращает true, если запись в реестр выполнена успешно и false в случае, если возникла ошибка записи параметров.
Тип передается в виде строки, поддерживаются следующие типы:

REG_DWORD

REG_SZ

REG_EXPAND_SZ

REG_BINARY

REG_MULTI_SZ (поддерживается начиная с AVZ 4.35)

 

В случае использования типа REG_BINARY значение задается аналогично значению в функции RegKeyBinParamWrite. Если указать тип, отличный от перечисленных выше, то запись в реестр не производится и функция возвращает false. Для типа REG_DWORD значение передается в виде строки и задается в десятичном виде (например, '1234') или шестнадцатеричном виде (поддерживается два формата записи: '$0F' и '0x0F', принципиальной разницы между 0x и $ нет).

Пример:

 

begin

RegKeyParamWrite('HKEY_LOCAL_MACHINE',

                    'SOFTWARE\Microsoft\Windows\CurrentVersion',

                    'Test0',

                    'REG_BINARY',

                    '011,23,5, F2,0E4,1B');

RegKeyParamWrite('HKEY_LOCAL_MACHINE',

                    'SOFTWARE\Microsoft\Windows\CurrentVersion',

                    'Test1',

                    'REG_SZ',

                    'Test string value');

RegKeyParamWrite('HKEY_LOCAL_MACHINE',

                    'SOFTWARE\Microsoft\Windows\CurrentVersion',

                    'Test2',

                    'REG_EXPAND_SZ',

                    'Test string value, type REG_EXPAND_SZ');

end.

 

Пример работы с типом REG_MULTI_SZ - обратите внимание на то, что разделителем строк в списке является символ с кодом #0

 

begin

RegKeyParamWrite('HKLM',

                 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost',

                 'test',

                 'REG_MULTI_SZ',

                 'st1'#0'st2');

end.