Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Сервисы и HKEY_CURRENT_USER. и FindWindow   Найти похожие ветки 

 
bar   (2004-09-28 15:12) [0]

Уважаемые мастера. Я в первый раз написал сервис для Win200 и у меня возникла такая проблема.
Во первых не могу записать значение в ветку HKEY_CURRENT_USER реестра. Почему это происходит я кажется знаю: (сервис запускается не от имени тукущего пользователя и поэтому ветка HKEY_CURRENT_USER ему не доступна. )
Прав ли я и скажите пожалуйста как всё таки записать значение в HKEY_CURRENT_USER из сервиса.
И второе почему после выполнения
hwnd := FindWindow("Shell_traywnd","");
в сервисе hwnd не меняется и остается равно 0?

Всем кто даст полезые сопеты заранее спасибо.


 
Дмитрий Ботвин   (2004-09-28 15:39) [1]

Синтаксис: hwnd := FindWindow("Shell_traywnd",<Заголовок окна>);


 
Игорь Шевченко ©   (2004-09-28 16:02) [2]


> hwnd := FindWindow("Shell_traywnd","");
> в сервисе hwnd не меняется и остается равно 0?


Разреши сервису взаимодействие с рабочим столом.


 
bar   (2004-09-28 16:27) [3]

>>Игорь Шевченко
Как???
Дайте код пожалуйста.


 
bar   (2004-09-28 16:45) [4]

>>Разреши сервису взаимодействие с рабочим столом.
нашел где это делается в Win2000 в службах.

скажите пожалуйста как всё таки записать значение в HKEY_CURRENT_USER из сервиса.


 
VMcL ©   (2004-09-28 17:03) [5]

>>bar  (28.09.04 16:45) [4]

>скажите пожалуйста как всё таки записать значение в HKEY_CURRENT_USER из сервиса.

Если не ошибаюсь, то нужно произвести имперсонификацию.


 
Игорь Шевченко ©   (2004-09-28 17:39) [6]

bar   (28.09.04 16:45) [4]


> скажите пожалуйста как всё таки записать значение в HKEY_CURRENT_USER
> из сервиса.


А кто есть CURRENT_USER ?


 
bar   (2004-09-29 08:32) [7]

>>VMcL ©
И что это значит в коде на Delphi?
>>Игорь Шевченко ©
CURRENT_USER
- обычный user, осуществивший LogOn в систему. Мне нужно менять некоторые его личные настройки.


 
Игорь Шевченко ©   (2004-09-29 09:59) [8]

bar   (29.09.04 08:32) [7]


> - обычный user, осуществивший LogOn в систему. Мне нужно
> менять некоторые его личные настройки.


ImpersonateLoggedOnUser ?


 
bar   (2004-09-29 13:58) [9]

Ничего не получается в DELPHI.
Пробовал из сервиса запускать процесс с правами пользователя, но что то не работает.
Нашел инфу про CreateProcessWithLogonW, так эта функция даже не прописана в windows.pas (не любит борланд новые ф-ции Winapi)/
Кроме того для CreateProcessWithLogonW нужен пароль.
А как узнать пароль у текущего USER`а я не знаю (можно конечно самого юзеря спросить :) )
Неужели никто не знает как запусть процесс с правами пользователя, что бы он при этом имел доступ к его HKEY_CURRENT_USER.

А то придется извращатся. Делать хук и если он подключается к explorer`у то из длл-ки и работать с HKEY_CURRENT_USER. Но это уже будет на С т.к. в delphi нет расшаренных переменных.

Всем кто поможет - большой СПАСИБО.


 
Cobalt ©   (2004-09-29 22:48) [10]

2 bar   (29.09.04 13:58) [9]
Нет, не зная пароль пользователя - нельзя запускать программы от его имени - это безопасность.
Даже "система" не может.
Если работаешь от пользователя - то нафига тебе сервис, скажи пожалуйста?


 
bar   (2004-10-04 10:05) [11]

>>Cobalt ©
Пишу програмку для школы, которая должна блокировать компьютеры учеников по команде с учительского компа и выводить на них только определённую информацию (если получится выводить на экран ученического компа изображение с экрана учительского).
Поскольку детки очень любопытныее, и закроют это приложение, то я решил сделать его сервисом (можно было, конечно скрыть моё приложегние от Диспетчера Задач, но это более геморойно).
А что бы заблокировать диспетчер задач, смену пароля и т.д. нужно писать в HKEY_CURRENT_USER. Вот такая проблема


 
Игорь Шевченко ©   (2004-10-04 12:08) [12]


> А что бы заблокировать диспетчер задач, смену пароля и т.д.
> нужно писать в HKEY_CURRENT_USER.


Нужно читать про Policy


 
bar   (2004-10-04 13:45) [13]

>>Игорь Шевченко ©
>>Нужно читать про Policy
Вы как всегда лаконичны.
Администрируя сетку (Win2k server + win2k(штук 10) + win98(штуки 3)) я собственно говоря так и делал, но в данном случае  смсадмина в этой школе вообще нет, (я там только практику прохожу), а проблема есть.
И решить её средствами делфи, по моему, проще, чем ручками настраивать политики на каждой машине и учить ещё этому учителя информатики.


 
Игорь Шевченко ©   (2004-10-04 14:50) [14]


> И решить её средствами делфи, по моему, проще, чем ручками
> настраивать политики на каждой машине и учить ещё этому
> учителя информатики.


Я сильно сомневаюсь, что проще. Впрочем - удачи :)


 
Cobalt ©   (2004-10-05 00:28) [15]

Решение - Домен.
Все локальные пользователи запрещены, есть только пользователь домена "Ученик". Ему назначаешь права - и вперёд.


 
bar   (2004-10-05 10:20) [16]

>>Cobalt
Мы немного отошли от Delphi.
Насчет домена. Уговорю учителя поставить Win2000 server. Тогда и буду домены настраивать.



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

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
1-1098944110
П7
2004-10-28 10:15
2004.11.14
Почему ошибка?


14-1098699704
Жук
2004-10-25 14:21
2004.11.14
Опять про мобилы


1-1099303347
Ш-К
2004-11-01 13:02
2004.11.14
Объединение двух XML


1-1099215220
BillyJeans
2004-10-31 12:33
2004.11.14
"Cистемное" PopupMenu...


1-1099031587
Devel
2004-10-29 10:33
2004.11.14
Unicode