Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Работа с реестром


Автор: Гость_Felt 2.11.2004, 22:06
Как прочитать строковый параметр, находящийся в HKEY_CURRENT_USER\Software\1000 в параметре RightName?

Автор: Pakshin A. S. 2.11.2004, 22:22
Элементарно, Ватсон!!! :D
Код

uses Registry;
...
function GetValue(RootKey:HKey; Key, Param:string):string;
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Reg.Root:=RootKey;
Reg.OpenKey(Key, false);
Result:=Reg.ReadString(Param);
Reg.Free;
end;

...
ShowMessage(GetValue(HKEY_CURRENT_USER, 'Software\1000', 'RightName'));

Автор: Guest 3.11.2004, 21:45
Неа, ты меня не понял, на API и только на API...

Автор: Pakshin A. S. 3.11.2004, 22:14
:(

Автор: p0s0l 3.11.2004, 22:43
Держи пример:
Код
function RegReadString (RootKey : HKEY; const KeyName, ValueName : string) : string;
var
 hk : HKEY;
 Data : Pointer;
 DataSize : DWORD;

begin
 Result := '';
 if RegOpenKeyEx (RootKey, PChar(KeyName), 0, KEY_QUERY_VALUE, hk) <> ERROR_SUCCESS then Exit;
 DataSize := 0;
 RegQueryValueEx (hk, PChar(ValueName), nil, nil, nil, @DataSize);
 if DataSize > 0 then
 begin
   GetMem (Data, DataSize);
   RegQueryValueEx (hk, PChar(ValueName), nil, nil, Data, @DataSize);
   Result := PChar(Data);
   FreeMem (Data);
 end;
 RegCloseKey (hk);
end;


Использовать так:
Код
begin
 ShowMessage (RegReadString (HKEY_CURRENT_USER, 'Software\1000', 'RightName'));
end;

Автор: Гость_Felt 4.11.2004, 17:48
Спасибо обязательно проверю

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)