Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   *Delphi* | Помогите в работе с реестром (http://forum.oszone.net/showthread.php?t=49391)

Denhell 17-05-2005 08:58 324822

*Delphi* | Помогите в работе с реестром
 
Подскажите как BD 6 создавать в реестре параметры: Двоичный, Строковый, DWord, Мультистроковый, Расширяемый строковый и как происвоить к ним определенные значения.

lehha 17-05-2005 09:28 324830

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 339718

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;


Время: 17:12.

Время: 17:12.
© OSzone.net 2001-