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

Winlogon Notification Package

16.01.2024, 10:33. Показов 2988. Ответов 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
9905 / 6442 / 2455
Регистрация: 21.01.2014
Сообщений: 27,348
Записей в блоге: 3
17.01.2024, 04:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Пс Посмотреть сообщение
процедура из библиотеки вызывается и лог-файл создается
Это, как я понимаю, работает при использовании хост-приложения, что, собственно, и ожидалось... Теперь можно попробовать этим, не совсем понятным мне методом, который Вы в начале описывали...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
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
9905 / 6442 / 2455
Регистрация: 21.01.2014
Сообщений: 27,348
Записей в блоге: 3
17.01.2024, 09:45
Цитата Сообщение от Пс Посмотреть сообщение
Это получается работало только на XP и WS2003?
что, собственно, и подозревалось изначально...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
17.01.2024, 10:04  [ТС]
Да не, ну бред же..
Зачем писать статьи по винде времен динозавров в 2023 году(та статья датирована 23м годом) и мануалы по WNP 2021 года..

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

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

Не по теме:

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

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

Добавлено через 31 секунду
Цитата Сообщение от D1973 Посмотреть сообщение
не совсем для этого подходящий инструмент
Что предлагаете использовать?С++?
0
Модератор
 Аватар для D1973
9905 / 6442 / 2455
Регистрация: 21.01.2014
Сообщений: 27,348
Записей в блоге: 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,249
17.01.2024, 11:20  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
любого пользователя или какого-то конкретного?
Любого.

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

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

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

Добавлено через 1 минуту
AzAtom, Ладно, не суть важно.
Мне нужно запускать программу при каждой разблокировке.
0
Модератор
 Аватар для D1973
9905 / 6442 / 2455
Регистрация: 21.01.2014
Сообщений: 27,348
Записей в блоге: 3
17.01.2024, 12:39
Я вот не совсем понимаю, на кой ляд запускать какую-то программу после каждой блокировки? У нас на работе ОС блокируется политикой при простое в 3 мин. И что, каждый раз будет программа дергаться?
Хотя - дело хозяйское, все это, насколько мне известно, решаемо локальными политиками Windows...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
17.01.2024, 12:41  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
а кой ляд запускать какую-то программу после каждой блокировки?
Это не секрет, программа для дополнительной защиты от НСД.
0
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,334
17.01.2024, 14:25
Для входа в Windows в дополнение к паролю можно ещё приделать и электронный ключ, навроде тех, что используются в домофонах. Или смарт-карты можно использовать. Это будет действовать и при разблокировке.
Как именно это делается я не в курсе.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
17.01.2024, 15:24  [ТС]
AzAtom, Это дополнительные траты. Оно нам не нужно.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,656
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru