Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Раздел HKEY_LOCAL_MACHINE в реестре


Lamer86 ©   (2002-08-20 21:27:00) 

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


Lamer86   (2002-08-21 10:56:00) [1]

Всем спасибо


ULTRIX   (2002-08-20 22:46:00) [2]

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

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


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


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

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


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

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.


Lamer86   (2002-08-20 22:20:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо