Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2009, 20:57   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Отследить explorer и winlogon

Вопрос в следующем: как отследить вход пользователя в windows? Вот что я имею ввиду. Когда компьютер включается, то производится вход в систему пользователем или администратором. Мне нужно отследить этот процесс. То есть чтобы было так, чтобы моя программа запускалась раньше winlogon-a. Где то я видел как через реестр можно сделать, чтобы показывалось сообщение. А как сделать, чтобы программа моя была вместо сообщения?? Очень нужна помощь по этому вопросу.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 19.09.2009, 20:59   #2
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Дык отследить можно как раз при помощи Винлогона...
У него так какоето событие есть типа LogOn
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 19.09.2009, 21:06   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
То есть чтобы было так, чтобы моя программа запускалась раньше winlogon-a.
В реестре есть такая запись. Поищите мою тему по запуску приложения до входа пользователя в разделе "Операц системы". Или я сам. Счас, минутку.
-----------------------------------
Вотъ: http://www.programmersforum.ru/showthread.php?t=61301
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 19.09.2009, 21:11   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Alex Cones
Я уже был в той теме .
А если использовать этот код:
Код:
uses
  registry;

var 
Reg : TRegistry;
begin
Reg:=TRegistry.create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false);
Reg.ValueExists('прога') ;
GetMem(ExeName,259);
GetModuleFileName(0,ExeName,259);
Reg.LazyWrite := True;
Reg.WriteString('прога', ExeName);
FreeMem(ExeName,259);
Reg.CloseKey;
Reg.free;
то это даст тот эфект, который мне нужен??
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 19.09.2009, 21:21   #5
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Так программа запустится далеко не сразу после входа пользователя. Там пока службы запустятся, пока остальные программы автозапуска.
Попробуй изменить ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion\Winlogon параметр Userinit на имя своей проги. Только тогда надо будет из неё запустить userinit.exe, а то пользователь несколько удивится.
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 20.09.2009, 01:35   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Раньше винлогона можно запуститься только от имени диспетчера сеанса - smss.exe - за это отвечает ключ HKLM\System\CurrentControlSet\Contr ol\Session Manager\BootExecute, в этот момент основные библиотеки ещё не загружены и программа может использовать только native-API (из ntdll.dll), естественно никаких окон и т.п. - только текстовый интерфейс, сhkdsk - пример такого приложения.

Вместе с винлогоном можно загрузть dll через ключ HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify. Ошибкам тут нет места, необработанное исключение вызовет BSOD.
Винлокер пишем?
пыщь

Последний раз редактировалось JTG; 20.09.2009 в 01:38.
JTG вне форума Ответить с цитированием
Старый 20.09.2009, 19:49   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Так программа запустится далеко не сразу после входа пользователя. Там пока службы запустятся, пока остальные программы автозапуска.
Попробуй изменить ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion\Winlogon параметр Userinit на имя своей проги. Только тогда надо будет из неё запустить userinit.exe, а то пользователь несколько удивится.
Спасибо за совет . Я целый день восстанавливал систему после этих изменений).
Цитата:
Раньше винлогона можно запуститься только от имени диспетчера сеанса - smss.exe - за это отвечает ключ HKLM\System\CurrentControlSet\Contr ol\Session Manager\BootExecute, в этот момент основные библиотеки ещё не загружены и программа может использовать только native-API (из ntdll.dll), естественно никаких окон и т.п. - только текстовый интерфейс, сhkdsk - пример такого приложения.

Вместе с винлогоном можно загрузть dll через ключ HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify. Ошибкам тут нет места, необработанное исключение вызовет BSOD.
Винлокер пишем?
Нет, не винлокер. Я не пишу программ, которые бы ухудшали жизнь. Принцип такой . Я наверное тогда сделаю, чтобы программа помещалась в автозапуск, ее нельзя было закрыть. Может быть этого хватит.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.09.2009, 21:18   #8
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Цитата:
Спасибо за совет. Я целый день восстанавливал систему после этих изменений).
А что с ней случилось? Я недавно этот параметр по 10 раз наа дню меня, пока прогу тестил, и ничего, всё живо
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 21.09.2009, 10:10   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Где то я видел как через реестр можно сделать, чтобы показывалось сообщение.
Это все описано в статьях MS-REMа.
Кстати все антивири будут такое палить. как правило.
Иши по строке "AppInts_DLL" если не ошибаюсь именно так ветка в реестре называется куда вписываются ДЛЛ. загружаемые с WinLogOn-ом.
Иначе драйвер пиши.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Захват десктопа winlogon drd Общие вопросы C/C++ 5 07.06.2011 15:15
Отследить запуск программы. Mixasik Общие вопросы Delphi 3 01.06.2009 09:12
Отследить стринги san72 Общие вопросы Delphi 2 30.05.2009 17:40
WinLOGON отключен?? Marsik Софт 13 09.10.2008 04:26
Заставить работать Winlogon slm Общие вопросы Delphi 3 18.09.2008 16:47