Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254

Winlogon Notification Package

16.01.2024, 10:33. Показов 4142. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Нужно отловить вход пользователя в систему. Прочитал про Winlogon Notification Package, написал dll:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
library TFLNotify;
 
uses
  Windows,
  System.SysUtils,
  System.Classes;
 
type
  PWSTR = PWideChar;
 
  PWLX_NOTIFICATION_INFO = ^_WLX_NOTIFICATION_INFO;
 
  _WLX_NOTIFICATION_INFO = record
    Size: ULONG;
    Flags: ULONG;
    UserName: PWSTR;
    Domain: PWSTR;
    WindowStation: PWSTR;
    hToken: THandle;
    hDesktop: HDESK;
    pStatusCallback: LongInt;
  end;
 
procedure SaveLog(msg: string);
var
  f: TextFile;
begin
  var
  dateTime := Now;
  var
  logPath := 'C:\log.txt';
  AssignFile(f, logPath);
  if (FileExists(logPath)) then
    Append(f)
  else
    Rewrite(f);
  msg := msg + DateToStr(dateTime) + ' ' + TimeToStr(dateTime);
  writeln(f, msg);
  closefile(f);
end;
 
procedure LogonEvent(pInfo: PWLX_NOTIFICATION_INFO); safecall; { или stdcall }
begin
  SaveLog('L:' + pInfo.UserName);
end;
 
{$R *.RES}
 
exports
  LogonEvent name 'LogonEvent';
 
begin
 
end.
Создал ветку Notify и в ней создал еще одну ветку - TFLNotify:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi ndows NT\CurrentVersion\Winlogon\Notify\TFLNot ify
Задал параметры(во вложении скрин)

Создал папку C:\TFLNotify, туда закинул dll, перезагрузился, вошел в систему, но файл с логами так и не появился. Что я сделал не так, подскажите пожалуйста. Заранее спасибо!
Миниатюры
Winlogon Notification Package  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2024, 10:33
Ответы с готовыми решениями:

Winlogon notification package на Delphi
Срочно нужна помощь! Кто-нибудь писал на Delphi Winlogon notification package? Регистрирую все правильно. Библиотека линкуется после...

В журнале стали проскакивать ошибки "winlogon <SessionEnv>" и "winlogon <AUInstallAgent>"
Здравствуйте! Стоит система windows 8 x64, в журнале стали проскакивать следующие сообщения: 1)Ошибка обработки критического события...

The 'Blend Menu Package' package did not load correctly Microsoft SQL Server Management Studio
Я переустанавливал пакет Blend в Visual Studio 2022 Preview, потом установил VS 2022, так попробовал, тоже не помогло Затем решил...

41
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 04:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Пс Посмотреть сообщение
процедура из библиотеки вызывается и лог-файл создается
Это, как я понимаю, работает при использовании хост-приложения, что, собственно, и ожидалось... Теперь можно попробовать этим, не совсем понятным мне методом, который Вы в начале описывали...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 08:44  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
работает при использовании хост-приложения,
Да, все так

Добавлено через 26 минут
Нашел какие-то требования:
https://learn.microsoft.com/ru... -prototype

Это получается работало только на XP и WS2003?

Добавлено через 4 минуты
Я руководствовался этими статьями:
1)https://learn.microsoft.com/ru... on-package
2)https://learn.microsoft.com/ru... -prototype
3)https://learn.microsoft.com/ru... on-package
4)https://www.rsdn.org/article/baseserv/winlogon.xml
5)https://www.codeproject.com/Ar... ation-Pack
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 09:45
Цитата Сообщение от Пс Посмотреть сообщение
Это получается работало только на XP и WS2003?
что, собственно, и подозревалось изначально...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 10:04  [ТС]
Да не, ну бред же..
Зачем писать статьи по винде времен динозавров в 2023 году(та статья датирована 23м годом) и мануалы по WNP 2021 года..

Добавлено через 48 секунд
Если это действительно так, то нужно создать другую тему, с вопросом как отловить вход пользователя в систему..
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 10:12
Цитата Сообщение от Пс Посмотреть сообщение
как отловить вход пользователя в систему
1. А зачем это в принципе может понадобиться?
2. А зачем использовать не совсем для этого подходящий инструмент (Delphi имеется в виду)?

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от Пс Посмотреть сообщение
Зачем писать статьи по винде времен динозавров в 2023 году
Ой, я Вас умоляю... Да никто их не пишет: они были написаны один раз еще до исторического материализма, а теперь их раз от разу перепечатывают - только и всего...

0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 10:37  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
А зачем это в принципе может понадобиться?
Нужно запускать программу при каждом входе пользователя в систему

Добавлено через 31 секунду
Цитата Сообщение от D1973 Посмотреть сообщение
не совсем для этого подходящий инструмент
Что предлагаете использовать?С++?
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 10:56
Цитата Сообщение от Пс Посмотреть сообщение
запускать программу при каждом входе пользователя в систему
Не совсем понятно: при входе в систему любого пользователя или какого-то конкретного?

В любом случае никакого программирования тут вообще не требуется: достаточно добавить путь к требуемой программе в раздел реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentV ersion\Run (это если для всех) и в аналогичный раздел но в профиле требуемого пользователя HKU\<Profile_ID>\SOFTWARE\Microsoft\Wind ows\CurrentVersion\Run.
И все это элементарно делается средствами ОС: скриптом PowerShell или даже простым bat-файлом. Это в ответ на Ваш вопрос:
Цитата Сообщение от Пс Посмотреть сообщение
Что предлагаете использовать?
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 11:20  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
любого пользователя или какого-то конкретного?
Любого.

Насколько я помню, Автозагрузка происходит только при первом в ходе систему?
Мне нужно запускать программу после каждого ввода логина и пароля. Ни Задачи ни автозагрузка так не может(опять-таки насколько я помню)
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,498
17.01.2024, 11:38
Цитата Сообщение от Пс Посмотреть сообщение
Автозагрузка происходит только при первом в ходе систему?
Что значит первый вход? Вход есть вход.

Ввод пароля на экране блокировки это не вход в систему.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 11:44  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
Ввод пароля на экране блокировки это не вход в систему.
А что это, выход?
Если без шуток, а что это?
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 11:53
Цитата Сообщение от Пс Посмотреть сообщение
Насколько я помню, Автозагрузка происходит только при первом в ходе систему?
А если взять и самому попробовать? И увидеть, что автозагрузка из HKLM происходит для всех и всегда.

Добавлено через 3 минуты
Цитата Сообщение от Пс Посмотреть сообщение
а что это?
Есть логин - вход в систему нового пользователя и есть блокировка системы, когда пользователь уже вошел в систему и заблокировал паролем свой сеанс работы. Такой ввод пароля (разблокировка), хоть и выглядит похоже на вход в систему, таковым не является и автозагрузка, естественно, не сработает.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 11:53  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
автозагрузка, естественно, не сработает.
Вот и я об этом.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,498
17.01.2024, 12:02
Цитата Сообщение от Пс Посмотреть сообщение
а что это?
Не знаю, как это называется по научному, вход в уже запущенный сеанс.
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 12:05
Цитата Сообщение от Пс Посмотреть сообщение
Вот и я об этом.
О чем? О том, что разблокировка - это не вход в систему?
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 12:36  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
О том, что разблокировка - это не вход в систему?
О том, что Автозагрузка, это не то, что мне нужно.

Добавлено через 1 минуту
AzAtom, Ладно, не суть важно.
Мне нужно запускать программу при каждой разблокировке.
0
Модератор
 Аватар для D1973
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,497
Записей в блоге: 3
17.01.2024, 12:39
Я вот не совсем понимаю, на кой ляд запускать какую-то программу после каждой блокировки? У нас на работе ОС блокируется политикой при простое в 3 мин. И что, каждый раз будет программа дергаться?
Хотя - дело хозяйское, все это, насколько мне известно, решаемо локальными политиками Windows...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 12:41  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
а кой ляд запускать какую-то программу после каждой блокировки?
Это не секрет, программа для дополнительной защиты от НСД.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,498
17.01.2024, 14:25
Для входа в Windows в дополнение к паролю можно ещё приделать и электронный ключ, навроде тех, что используются в домофонах. Или смарт-карты можно использовать. Это будет действовать и при разблокировке.
Как именно это делается я не в курсе.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 15:24  [ТС]
AzAtom, Это дополнительные траты. Оно нам не нужно.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
17.01.2024, 15:31
https://learn.microsoft.com/en... omatically

https://www.youtube.com/watch?v=gSvMkyOA2bc
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2024, 15:31

Eclipse. Package внутри package
Разбираюсь в Eclipse IDE 2019-06. Не могу понять как создать package внутри package как в IntelliJ IDEA. Нашел только тему на...

Winlogon.exe
Доброго времени суток, KAV ругается на компьютер в сети на процесс winlogon.exe. Ошибка следующего рода: Процесс...

Winlogon mistake
У девушки с буком фигня творится.Она его включает,ей он выдает winlogon mistake,показывает синий экран и вырубается.Что это и чем лечится?

Bsod c000021a/winlogon
Всем доброго времени суток. Недавно почистил оптимайзером корзину, и после перезагрузки начал постоянно вылетать BSOD с кодом c000021a. В...

Тип экрана winlogon
Как сделать &quot;новый&quot; тип экрана входа в систему, при котором отображаются все существующие учётные записи, и надо выбрать одну из них....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru