PDA

Показать полную графическую версию : *Delphi* | Помогите в работе с реестром


Denhell
17-05-2005, 08:58
Подскажите как BD 6 создавать в реестре параметры: Двоичный, Строковый, DWord, Мультистроковый, Расширяемый строковый и как происвоить к ним определенные значения.

lehha
17-05-2005, 09:28
Denhell
Стандартная WinAPI
LONG RegSetValueEx(
HKEY hKey,
LPCTSTR lpValueName,
DWORD Reserved,
DWORD dwType,
const BYTE* lpData,
DWORD cbData
);

hKey - Указатель на открытый ключь реестра

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS

lpValueName - Значение
Reserved - NULL
dwType - Тип сздаваемого значения
lpData - Имя ключа
cbData - размер lpData
Вроде так если мне память неизменяет

ALex27G
09-07-2005, 11:43
Denhell
Для работы с реестром я объявляю переменную типа TRegistry ( обязательно в разделе Uses подключить модуль Registry), для создания ключей - функцию TRegistry.CreateKey (Const Key: String): Boolean, для создания параметров - TRegistry.WriteString (Const Name: String, Const Value: String), TRegistry.WriteBool (Const Name: String, Const Value: Boolean) и т.д.
Пример кода:

procedure TForm1.FormCreate(Sender: TObject);
var
RegFile: TRegistry;
begin
RegFile:= TRegistry.Create;
RegFile.RootKey:= HKEY_LOCAL_MACHINE;
//
try
RegFile.CreateKey('\SOFTWARE\TLTray');
RegFile.CreateKey('\SOFTWARE\TLTray\User');
RegFile.CreateKey('\SOFTWARE\TLTray\AutoRunFiles');
.................
RegFile.CloseKey;
//
if RegFile.OpenKey('\SOFTWARE\TLTray\User', False) then
begin
RegFile.WriteString('FName', '');
.................
RegFile.WriteInteger('flRun', 0);
RegFile.WriteDate('flDate', Now);
RegFile.CloseKey;
end;
//
if RegFile.OpenKey('\SOFTWARE\TLTray\AutoRunFiles', False) then
begin
...............
RegFile.WriteBool('AutoRun', False);
RegFile.CloseKey
end;
//
finally
RegFile.Free;
end;
end;




© OSzone.net 2001-2012