Вниз
Скачать: CL | DM;

Запись в реестр из сервиса   Найти похожие ветки 

← →
Laim   (2004-11-29 04:53) [0]

Почему не получается сделать запись из СЕРВИСА в ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, пишится почему-то в HKEY_USERS\.Default? Из простой программы все нормально, правда, если программу запускает сервис, то она тоже не туда пишет!!!


← →
novice_man ©   (2004-11-29 05:14) [1]

Посмотри кто является владельцем запущенного сервиса (надеюсь у вса w 2000 или ХР(NT)) если система, то какой "HKEY_CURRENT_USER" для системы? Это вроде виртуальная ветка доступная для текущего пльзователя.


← →
novice_man ©   (2004-11-29 05:26) [2]

HKEY_CURRENT_USER

Данный раздел является корневым для данных настройки пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и настройки панели управления. Эти данные называются профилем пользователя.

HKEY_USERS

Данный раздел содержит все профили пользователей компьютера. HKEY_CURRENT_USER является подразделом HKEY_USERS.

HKEY_LOCAL_MACHINE

Раздел содержит данные настройки, относящиеся к данному компьютеру (для всех пользователей).

HKEY_CLASSES_ROOT

Данный раздел является подразделом HKEY_LOCAL_MACHINE\Software. Хранящиеся здесь сведения обеспечивают открытие необходимой программы при открытии файла с помощью проводника.

HKEY_CURRENT_CONFIG

Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы

"Является подразделом" - читай виртуальный раздел - ссылка на какой то физичекий подраздел.

Я нашел инфу по работе с реестром минут за 10, когда приспичело поработать с реестром ;).


← →
Laim   (2004-11-29 06:04) [3]

Я знаю, что сервисы запускаются еще до входа пользователя в систему, и поэтому никакой речи о HKCU не может быть. Но после входа в систему можно же узнать пользователя и как-нибудь получить доступ к настройке под его профилем?
P/S: пишу прогу для блокировки запуска програм, и надо иметь доступ именно к этому разделу для каждого пользователя. Может можно как-нибудь запускать программу с правами администратора?


← →
novice_man ©   (2004-11-29 06:31) [4]

Где то видел в форуме (не оставил ссылки) как запускать приложение от имени текущего (не обязательно) пользователя.

Как вариант: создать файл из своей программы после загрузки пользователя (*.reg) и запустить?


← →
novice_man ©   (2004-11-29 06:44) [5]

Если необходимо получить как имя пользователя так и имя домена для текущего потока, то сначала, при помощи функции GetTokenInformation надо распаковать пользовательский идентификатор (SID) - это и есть имя ключа в реестре в корне HKEY_USERS\ из потока. А затем вызвать функцию LookupAccountSid, чтобы получить имя учётной записи и имя домена, связанные с этим SID.


← →
novice_man ©   (2004-11-29 06:49) [6]

Вот еще ссылка на форум где был вопрос о запуске ПРОГРАММЫ а не сервиса :(, но можети поможет разобраться
http://delphimaster.net/view/4-1100614746/



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

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



Память: 0.46 MB
Время: 0.025 c
3-1102698760
able
2004-12-10 20:12
2005.01.16
Нестрогий поиск


1-1104150644
Zhekson
2004-12-27 15:30
2005.01.16
TChart


14-1104388809
Пользователь
2004-12-30 09:40
2005.01.16
Драйверок для HP LaserJet 5Si


9-1096173815
Mitay
2004-09-26 08:43
2005.01.16
Как определить частоту звука?


1-1103913677
Pabse
2004-12-24 21:41
2005.01.16
эдитить html




   Наверх