Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Раздел HKEY_LOCAL_MACHINE в реестре   Найти похожие ветки 

 
Lamer86 ©   (2002-08-20 21:27) [0]

Подскажите как работать с разделом реестра HKEY_LOCAL_MACHINE. Если писать просто FIniFile := TRegIniFile.Create("SOFTWARE") (FIniFile: TRegIniFile)то имеется ввиду раздел HKEY_CURRENT_USER\SOFTWARE


 
Lamer86 ©   (2002-08-20 22:20) [1]

Неужели никто не знает?


 
_Александр_   (2002-08-20 22:26) [2]

unit MyReg;
interface
Uses Windows;
function RegSetKeyStr(Root:DWORD;Path:string;KeyName:string;KeyValue:string):boolean;
function RegGetKeyStr(Root:DWORD;Path:string;KeyName:PChar;Var KeyValue:string):boolean;
function RegCreateDir(Root:DWORD;Path:string):boolean;
function RegDelKey(Root:DWORD;Path:string;KeyName:string):boolean;

implementation
//***************************************************************************************************************
{procedure TForm1.SETVALUEClick(Sender: TObject);
begin
RegSetKeyStr(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","MY TEST 00044",Edit1.text);
end;
//***************************************************************************************************************
procedure TForm1.GETVALUEClick(Sender: TObject);
var
s:string;
begin
RegGetKeyStr(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run","MY TEST 00044",s);
panel1.Caption:=s;
end;
}
//***************************************************************************************************************
{
procedure TForm1.CreateBtClick(Sender: TObject);
begin
RegCreateDir(HKEY_LOCAL_MACHINE,"SOFTWARE\000");
end;
}
//***************************************************************************************************************
function RegSetKeyStr(Root:DWORD;Path:string;KeyName:string;KeyValue:string):boolean;
var
rg:HKEY;
begin
Result:=false;
if RegOpenKey(Root,pchar(Path),Rg) = ERROR_SUCCESS then
if RegSetValueEx(Rg,PChar(KeyName),0,REG_SZ,PChar(KeyValue),Length(KeyValue)+1) = ERROR_SUCCESS
then Result:=true;
RegCloseKey(Rg);
end;
//***************************************************************************************************************
function RegDelKey(Root:DWORD;Path:string;KeyName:string):boolean;
var
rg:HKEY;
begin
Result:=False;
if RegOpenKey(Root,pchar(Path),Rg) = ERROR_SUCCESS then
if RegDeleteKey(Rg,PChar(KeyName)) = ERROR_SUCCESS
then Result:=true;
RegCloseKey(Rg);

end;
//***************************************************************************************************************
function RegGetKeyStr(Root:DWORD;Path:string;KeyName:PChar;Var KeyValue:string):boolean;
Var
Rg: HKey;
StrLen: Integer;
Buffer: array[0..255] of Char;
begin
Result:=false;
KeyValue:="";
if RegOpenKey(Root,pchar(Path),Rg) = ERROR_SUCCESS then
begin
StrLen := SizeOf(Buffer);
if (RegQueryValueEx(rg, KeyName, nil, nil, @Buffer, @StrLen) = ERROR_SUCCESS) then
begin
KeyValue:=Buffer;
Result:=true;
end;
RegCloseKey(Rg);
end;
end;
//***************************************************************************************************************
function RegCreateDir(Root:DWORD;Path:string):boolean;
Var
Rg: HKey;
begin
Result:=false;
if RegCreateKey(Root,pchar(Path),Rg) = ERROR_SUCCESS then Result:=True;
RegCloseKey(Rg);
end;
//***************************************************************************************************************
end.


 
Anatoly Podgoretsky ©   (2002-08-20 22:28) [3]

Первое выкинуть TRegIniFile и использовать TRegistry


 
ULTRIX ©   (2002-08-20 22:46) [4]

Блин, что за примитивщина, Александр? Это бы для первого Делфи сгодилось! А ламеру так и не объяснил... Думаешь он из твоего что-нибудь поймёт? Хе-хе :)))

Ламер, а что за идиотское Finifile? Такое даже и на первом страшно применить. Рассказывать долго - покопайся в help-е, прочти там о TRegistry :) Желаю удачи ;)


Best Regards, ULTRIX
ultrix@tut.by ICQ:166456655


 
Lamer86 ©   (2002-08-21 10:56) [5]

Всем спасибо



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
6-3555
Brand
2002-06-15 23:14
2002.09.02
Маршрут пакета


6-3550
L.eXX
2002-03-15 00:00
2002.09.02
CGI и TNMHTTP.Post


1-3398
Викт0р
2002-08-22 15:17
2002.09.02
FormEvent


4-3658
ed2000
2002-06-29 20:16
2002.09.02
Отключение прорисовки формы


1-3356
eruc
2002-08-22 05:38
2002.09.02
exception