![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Oshibka pri chtenij registra !!! [D7, WinXP]
andreart.net © (2006-03-05 23:00:00)jest funkcija katoraja obrashajetsa k registru.
kogda pozlovatel admin, to problem netu, no tolko psotavil pozovatela limited v XP, to programka na if TheReg.OpenKey(KeyName, True) vivodit ochubku i nehochet chitat registr. POCHEMU ???
function readreg(keyname,str1: string):string;
var
TheReg: TRegistry;
begin
try
TheReg := TRegistry.Create;
try
TheReg.RootKey := HKEY_LOCAL_MACHINE;
thereg.CreateKey(keyname);
if TheReg.OpenKey(KeyName, True) then
begin
result:=TheReg.ReadString(str1);
TheReg.CloseKey;
end;
finally
TheReg.Free;
end;
except end;
end;
andreart.net (2006-03-05 23:37:00) [1]thx... vsjo poluchilos, ubral straku thereg.CreateKey(keyname);
SPASIBO !
andreart.net (2006-03-05 23:23:00) [2]a pochemu pri ispolzovanij OpenKeyReadOnly tozhesamije ? :/
u menja tam programka imejet parametri katorije nado schitat' ...
evvcom (2006-03-05 23:10:00) [3]Негоже юзеру писать в HKEY_LOCAL_MACHINE. Это для админа допустимо, а для юзера HKLM только чтение, а запись в HKCU. Вот и все проблемы.
wicked (2006-03-05 23:07:00) [4]
> kogda pozlovatel admin, to problem netu, no tolko psotavil
> pozovatela limited v XP, to programka na if TheReg.OpenKey(KeyName,
> True) vivodit ochubku i nehochet chitat registr. POCHEMU
> ???
потому что для простых пользователей для записи доступна только ветвь HKEY_CURRENT_USER, да и то вроде не вся..... поэтому про CreateKey в ветви HKEY_LOCAL_MACHINE можно успешно забыть, а открывать их желательно методом OpenKeyReadOnly....