![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Реестр блин [D7, WinXP]
dkDimon © (2003-01-07 23:48:00)Мастера, люди и все-все-все. Такая вот трабла. Что-то никак никак не могу впереть, как работать с реестром через чистый WinAPI. Понимаю, конечно, что в форуме уже где-то про это писали, только что-то не могу найти. Поделитесь кто-нибудь примерчиком или докой, ссылочкой или чем-нибудь...
dkDimon (2003-01-12 00:14:00) [1]Да я уж сам разобрался. Всем спасибо
TButton (2003-01-11 02:12:00) [2]
var
reg:TRegIniFile;
begin
...
reg:=TRegIniFile.Create("SOFTWARE\my key"); //opening registry at HKEY_CURRENT_USER\SOFTWARE\my key
s:=reg.ReadString("my subKey","some string","");
reg.WriteString("my subKet","another string","xxxxxxxxxxx");
...
reg.Free;
end;
BoredOfBytes (2003-01-11 01:43:00) [3]Ты лучше в инете поищи библиотеку minireg.pas, там все предельно просто! Токо нет некоторых функций: получения списка ключей, параметров и т.п. Но основные функции присутствуют!
Evgeny (2003-01-08 05:18:00) [4]К примеру так:
{----------------------------------------------------------}
function ITOC(I : Integer) : PChar;
var
St : array[Byte] of Char;
begin
Str(I, St);
Result := St;
end;
{----------------------------------------------------------}
function ReadString(Ident : PChar; Default : String) : String;
var
St : String;
begin
Result := "";
if (RegQueryValueEx(HK, Ident, NIL, @dwType, NIL, @dwKeySize) = ERROR_SUCCESS) and
((dwType = REG_SZ) or (dwType = REG_EXPAND_SZ)) then
begin
SetLength(St, dwKeySize - 1);
if RegQueryValueEx(HK, Ident, NIL, NIl, @St[1], @dwKeySize) = ERROR_SUCCESS then
Result := St
else
Result := Default;
end
else
Result := Default;
end;
{----------------------------------------------------------}
function ReadInteger(Ident : PChar; Default : Integer) : Integer;
var
St : String;
function StrToIntDef(const S: string; Default: Integer): Integer;
var
E: Integer;
begin
Val(S, Result, E);
if E <> 0 then Result := Default;
end;
begin
St := ReadString(Ident, "");
Result := StrToIntDef(St, Default);
end;
{----------------------------------------------------------}
procedure WriteString(Ident : PChar; Value : String);
begin
RegSetValueEx(HK, Ident, 0, REG_SZ, PChar(Value), Length(Value) + 1);
end;
{----------------------------------------------------------}
procedure WriteInteger(Ident : PChar; Value : Integer);
begin
RegSetValueEx(HK, Ident, 0, REG_SZ, ITOC(Value), Length(ITOC(Value)) + 1);
end;
dkDimon (2003-01-08 00:48:00) [5]...ну это я и сам понимаю... и даже пытался чего-то делать... тока ни хера не получается. Что ж, уважаемый Diamond Cat, думаете я совсем что ли тупой, чтобы не догадаться какими ф-иями пользоваться? :(
Diamond Cat (2003-01-07 23:52:00) [6]ну через
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
подробнее в хелпе