Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1195422476
bbb
2007-11-19 00:47
2007.12.16
Компонент cxRadioGroup


2-1195735467
Ростик
2007-11-22 15:44
2007.12.16
Пример программы


15-1194870352
Leonid Troyanovsky
2007-11-12 15:25
2007.12.16
Вредные советы чайникам


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


2-1195577006
allucard
2007-11-20 19:43
2007.12.16
Как определить размер переменной, занимаемый в памяти




   Наверх