Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.06.2012, 19:44
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
Вопрос Проблема с реестром

Пишу службу и пытаюсь прочитать настройки из реестра

Код:
var Registry: TRegistry;

Registry := TRegistry.Create;
Registry.RootKey := hkey_current_user;
Registry.OpenKey('software\BTS\LOGIN',true);
DM.OraSession1.server :=Registry.ReadString('SERVER');
DM.OraSession1.username :=Registry.ReadString('USERNAME');
DM.OraSession1.Password := Registry.ReadString('PASSWORD');
DM.OraSession1.Schema := Registry.ReadString('SCHEMA');
DM.ForMonitor.server :=Registry.ReadString('SERVER');
DM.ForMonitor.username :=Registry.ReadString('USERNAME');
DM.ForMonitor.Password := Registry.ReadString('PASSWORD');
DM.ForMonitor.Schema := Registry.ReadString('SCHEMA');
Registry.CloseKey;

на выходе пусто, хотя данные естественно есть. Может есть какая-то особенность работы с реестром если пишешь службу?
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #2  
Старый 19.06.2012, 20:42
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
hkey_current_user
??????????
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 19.06.2012, 21:16
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

что значит "на выходе пусто" ?
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #4  
Старый 19.06.2012, 21:25
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

NumLock уже дал правильный ответ.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 19.06.2012, 23:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,068
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не, ну служба тоже под юзером запускается... только вот под каким????????????????????????????????????????????



ЗЫ. Я знаю под каким пользователем запускается служба по умолчанию. И что пользователя можно поменять - тоже знаю.
ЗЗЫ. ЗЫ было для особо одаренных.
Ответить с цитированием
  #6  
Старый 19.06.2012, 23:06
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Службы запускаются от имени локальной системы, еще до входа пользователя. Поэтому они не знают, какой user is current
Ответить с цитированием
  #7  
Старый 20.06.2012, 00:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,068
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А вот фигу вам. Если указан пользователь для конкретной службы, то она запускается под указанным пользователем вне зависимости от того залогинен таковой или нет.
И, соответственно, имеет доступ к правильной ветке current_user. Вся проблема как раз в том, что у залогиненного пользователя current_user свой, у службы - свой.
Соответсвенно, выход только один - писать все в local_machine или файл для all_users (последнее - с учетеом идеологии XP/Vista/7, больше 2х последних, т.к. под XP еще можно было прямо в папку программы писать).

Последний раз редактировалось lmikle, 20.06.2012 в 00:13.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter