Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

Не считывается инфа из реестра под другим пользователем   Найти похожие ветки 

 
BD   (2007-11-13 21:58) [0]

Имеется программа (Делфи+FoxPro), установленная пользователем "1". При инсталляции этой программы происходит запись некоторого значения в реестр винды.
Если программу запускает пользователь "1", считывание информации из реестра происходит нормально. Но если программу запускает пользователь "2", информация не считывается. Нужго чтобы программа считывала информацию из реестра под любым пользователем.


 
Anatoly Podgoretsky ©   (2007-11-13 22:07) [1]

> BD  (13.11.2007 21:58:00)  [0]

Для этого надо писать в HKLM


 
BD   (2007-11-14 22:11) [2]

Я и пишу в HKEY_LOCAL_MACHINE\SOFTWARE\XXX\[переменная].

begin
     reg:=TRegistry.Create;
     SubKey:="\SOFTWARE\XXX\";
     reg.RootKey:=HKEY_LOCAL_MACHINE;
     if reg.KeyExists(SubKey) then
       begin
          reg.OpenKey(SubKey, false);
          Location_BD:=reg.ReadString("NameBD");
          reg.CloseKey;
          reg.Free;
..........................
end;

при считывании из реестра под пользователем "2" информация  не считывается. Пишет:
Location_BD=" "
А под пользователем "1" (который инсталлирован программу) - все нормально


 
KilkennyCat ©   (2007-11-14 22:43) [3]

и права у пользователей одинаковые...


 
ЮЮ ©   (2007-11-15 03:13) [4]

>reg:=TRegistry.Create;


> [3] KilkennyCat ©   (14.11.07 22:43)
> и права у пользователей одинаковые...


Для чтения используй другой конструктор:

constructor Create(AAccess:LongWord); overload;


 
BD   (2007-11-23 00:41) [5]

RE:
egin
    reg:=TRegistry.Create;
    SubKey:="\SOFTWARE\XXX\";
    reg.RootKey:=HKEY_LOCAL_MACHINE;
    if reg.KeyExists(SubKey) then
      begin
         reg.OpenKey(SubKey, false);
         Location_BD:=reg.ReadString("NameBD");
         reg.CloseKey;
         reg.Free;
..........................
end;

Сделали так:
вместо строки reg.OpenKey(SubKey, false)
поставили строку reg.OpenKeyReadOnly(SubKey)
Теперь админ (пользователь "1") устанавливает программу, а обычный пользователь (пользователь "2") читает из реестра.



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
6-1175771739
Мимопроходящий
2007-04-05 15:15
2007.12.16
TWebBowser и кодировка


4-1179914782
Ангела
2007-05-23 14:06
2007.12.16
Как отследить, какие функции вызывает программа из Dll ?


2-1195648487
kudatsky
2007-11-21 15:34
2007.12.16
Ограничение на количество открытых DBF-файлов


6-1175878531
redlord
2007-04-06 20:55
2007.12.16
саморекурсия процедуры ClientSocket1Read


2-1195628959
GhosTer
2007-11-21 10:09
2007.12.16
Запись в реестр.