Delphi работа с системным реестром

Опубиковано: 16.07.2008 г., автор: , просмотров: 82287

Работа с реестром windows из Delphi

В этом уроке я бы хотел показать вам, как работать с реестром windows.
Итак для программной работы с системным реестром из Delphi перво-наперво что нужно сделать это дописать в раздел uses слово registry

Далее можно кинуть на форму компонент button и создать обработчик событий onClick
Ниже приведен пример такова обработчика с подробным описанием каждой строчки:

procedure TForm1.Button1Click(Sender: TObject);
var
   Registry: TRegistry;
begin
   { создаём объект TRegistry }
   Registry := TRegistry.Create;
   { устанавливаем корневой ключ; напрмер hkey_local_machine или hkey_current_user }
   Registry.RootKey := hkey_local_machine;
   { открываем и создаём ключ }
   Registry.OpenKey('software\MyRegistryExample',true);
   { записываем значение }
   Registry.WriteString('MyRegName','MyRegistry Value');
   { закрываем и освобождаем ключ }
   Registry.CloseKey;
   Registry.Free;
end;

На этом все. Не забываем подписываться на бесплатную мультимедийную рассылку. Форма для подписки расположена с права и с лева.

www.delphiexpert.ru



Похожие материалы

Последние из рубрики

mikelll 08 Feb 2011 в 00:00 #
Я даже не могу понять как ты умудрился на компе 1 ос поставить)
Дмитрий 13 Jan 2011 в 00:00 #
Вопрос такой:
У меня стоит на компе 2 ОС XP и 7 как мне через делфи чититать и записывать параметр из 7 в XP и на оборот. т.е. открыл программку в 7 записал,чтитал параметр и он записался,считался в реестре XP.
Дмитрий 13 Jan 2011 в 00:00 #
mikelll. А ты случайно не знаешь ответ на мой вопрос
mikelll 27 Dec 2010 в 00:00 #
function TForm1.RegQueryStr(RootKey: HKEY; Key, Name: string;
Success: PBoolean): string;
var
Handle: HKEY;
Res: LongInt;
DataType, DataSize: DWORD;
begin
if Assigned(Success) then
Success^ := False;
Res := RegOpenKeyEx(RootKey, PChar(Key), 0, KEY_QUERY_VALUE, Handle);
if Res <> ERROR_SUCCESS then
Exit;
Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType, nil, @DataSize);
if (Res <> ERROR_SUCCESS) or (DataType <> REG_SZ) then
begin
RegCloseKey(Handle);
Exit;
end;
SetString(Result, nil, DataSize - 1);
Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType,
PByte(@Result[1]), @DataSize);
if Assigned(Success) then
Success^ := Res = ERROR_SUCCESS;
RegCloseKey(Handle);
end;

- вот функция для считывания

RegQueryStr(HKEY_LOCAL_MACHINE, ′SOFTWARENameProgram
egistred′, ′KeyProgramm′)

- пример использования
Дормидон 19 Dec 2010 в 00:00 #
вот такой вопросец =) установщик регистрирует программу в винде при установке соответственно чтобы ее потом можно было удалить обновить и тд, при этом в реестр записываются регистрационные данные типа название проги, имя текущего юзера, организация, айди программы и тд можно ли у винды узнать точный адрес ветви реестра куда помещаются эти данные и как??? или надо тупо самому искать в реестре необходимые ключи?

ОтменитьДобавить комментарий