Главная страница
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.026 c
15-1195199758
Ega23
2007-11-16 10:55
2007.12.16
Несколько фреймов в одном юните - никак не сделать?


15-1195131734
Ega23
2007-11-15 16:02
2007.12.16
Так всё-таки: как канонически правильно передавать объекты


2-1195592839
miwgun
2007-11-21 00:07
2007.12.16
пробудился интерес к scrollbar


15-1194730016
Leonid Troyanovsky
2007-11-11 00:26
2007.12.16
Самые распространенные дельфийские заблуждения


2-1195375211
JJLev
2007-11-18 11:40
2007.12.16
TSpeedButton +Canvas +Rect