Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.032 c
1-1099056568
Сергей Г
2004-10-29 17:29
2004.11.14
Доступ к файлу Excel


4-1097126691
CJ Shark
2004-10-07 09:24
2004.11.14
Как писать биты напрямую в LPT в WinXP?


14-1098942290
ИМХО
2004-10-28 09:44
2004.11.14
Рекордная серия Арсенала оборвалась...


3-1097393378
Vladgul
2004-10-10 11:29
2004.11.14
Создание собственной БД


3-1097649138
first_may
2004-10-13 10:32
2004.11.14
Yaffil...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский