[Delphi] Jak odczytać dane z rejestru ?

0

Tworze sobie klucz i dane w następujący sposób oczywiście przy urzyciu WinApi :

if RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\EventLog\Application\Taski_View',0,KEY_READ,klucz)&lt&gt0 then
begin
RegCreateKey(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\EventLog\Application\Taski_View',klucz);
RegSetValueEx(klucz,'Pozycja x',0,REG_DWORD,@x,4);
RegSetValueEx(klucz,'Pozycja y',0,REG_DWORD,@y,4);
RegSetValueEx(klucz,'Szerokosc',0,REG_DWORD,@szerokosc,4);
RegSetValueEx(klucz,'Wysokosc',0,REG_DWORD,@wysokosc,4);
end;

Zapisałem sobie informacje ale teraz potrzebuje je odczytać ? Jak to zrobić ?
w WinApi są następujące funkcje :

RegCloseKey
RegConnectRegistry
RegCreateKey
RegCreateKeyEx
RegDeleteKey
RegDeleteValue
RegEnumKey
RegEnumKeyEx
RegEnumValue
RegFlushKey
RegGetKeySecurity
RegLoadKey
RegNotifyChangeKeyValue
RegOpenKey
RegOpenKeyEx
RegQueryInfoKey
RegQueryMultipleValues
RegQueryValue
RegQueryValueEx
RegReplaceKey
RegRestoreKey
RegSaveKey
RegSetKeySecurity
RegSetValue
RegSetValueEx
RegUnLoadKey

próbowałem różnych sztuczek i nic

proszę o pomoc jakiś przykład

Biernacki Arkadiusz Szczecin (ABJ) hmm... ;(

0

Trochę inne wartości, ale działa.

procedure TForm1.Button1Click(Sender: TObject);
var
klucz: HKEY;
x, BufSize: Integer;
DataType: Integer;
Buffer: Pointer;
begin
x:=1;
Buffer := @x;
BufSize := SizeOf(Buffer);
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\EventLog\Application\Taski_View',0,KEY_QUERY_VALUE,klucz)&lt&gt0 then
ShowMessage('ups')
else
begin
DataType := REG_NONE;
if RegQueryValueEx(klucz, 'X', nil, @DataType, PByte(Buffer),
@BufSize) &lt&gt ERROR_SUCCESS then
ShowMessage('Ups');
ShowMessage(IntToStr(x));
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
klucz: HKEY;
x: Integer;
Buffer: Pointer;
begin
X:= 100;
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\EventLog\Application\Taski_View',0,KEY_READ,klucz)&lt&gtERROR_SUCCESS then
begin
RegCreateKey(HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Services\EventLog\Application\Taski_View',klucz);
RegSetValueEx(klucz,'X',0,REG_DWORD,@x,4);
end;
end;
--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

uses Registry;

var

Rejestr : TRegistry;

Zmienna : Integer;

begin

Rejestr:=TRegistry.Create;

Rejestr.OpenKey('Nazwa klucza w którym jest wartość binarna',False);

Rejestr.ReadBinary('Nazwa wartości',Zmienna,SizeOf(Zmienna));

Rejestr.Free;

end;

0

MirekPil napisał:
uses Registry;
...
end;

A ABJ napisał:
oczywiście przy urzyciu WinApi

{hello} --Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

Brawo {brawo} Brawo {brawo} Działa perfekt popełniłem mały bład ! Tok myślenia był zły ale podejście dobre znowu jajo KOLUMBA się kłania.

A jak zauważyliście trzeba czytać dokładnie jak WinApi to nie uses registry.

Brawo za zainteresowanie moim problemem dla : Dryobates {hello}

Wyśle Ci to moje cacko tylko daj znać czy chcesz ?

A okazuje się , że Białystok chyba niedługo odwiedze (Na Wakacje). He He He ...

Arkadiusz Biernacki Szczecin (ABJ)

0

jeszcze mozesz:
uruchom regedit :PP--eh ah i oh

1 użytkowników online, w tym zalogowanych: 0, gości: 1