Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизСервисы и 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c