Вниз
Скачать: 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.015 c
15-1195468081
YaroslavB
2007-11-19 13:28
2007.12.16
Double в шестнадцатеричную систему


2-1195557465
LikefNik
2007-11-20 14:17
2007.12.16
TRichEdit +BMP


15-1195538948
Новый_
2007-11-20 09:09
2007.12.16
record


2-1195626418
Неместная
2007-11-21 09:26
2007.12.16
фукнкция обратная Chr


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




   Наверх