257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254

Winlogon Notification Package

16.01.2024, 10:33. Показов 3341. Ответов 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
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 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
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 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
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 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
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 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
Модератор
4150 / 2360 / 813
Регистрация: 15.11.2015
Сообщений: 9,476
17.01.2024, 11:38
Цитата Сообщение от Пс Посмотреть сообщение
Автозагрузка происходит только при первом в ходе систему?
Что значит первый вход? Вход есть вход.

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

Добавлено через 3 минуты
Цитата Сообщение от Пс Посмотреть сообщение
а что это?
Есть логин - вход в систему нового пользователя и есть блокировка системы, когда пользователь уже вошел в систему и заблокировал паролем свой сеанс работы. Такой ввод пароля (разблокировка), хоть и выглядит похоже на вход в систему, таковым не является и автозагрузка, естественно, не сработает.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 11:53  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
автозагрузка, естественно, не сработает.
Вот и я об этом.
0
Модератор
4150 / 2360 / 813
Регистрация: 15.11.2015
Сообщений: 9,476
17.01.2024, 12:02
Цитата Сообщение от Пс Посмотреть сообщение
а что это?
Не знаю, как это называется по научному, вход в уже запущенный сеанс.
0
Модератор
 Аватар для D1973
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 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
9936 / 6473 / 2458
Регистрация: 21.01.2014
Сообщений: 27,448
Записей в блоге: 3
17.01.2024, 12:39
Я вот не совсем понимаю, на кой ляд запускать какую-то программу после каждой блокировки? У нас на работе ОС блокируется политикой при простое в 3 мин. И что, каждый раз будет программа дергаться?
Хотя - дело хозяйское, все это, насколько мне известно, решаемо локальными политиками Windows...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 12:41  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
а кой ляд запускать какую-то программу после каждой блокировки?
Это не секрет, программа для дополнительной защиты от НСД.
0
Модератор
4150 / 2360 / 813
Регистрация: 15.11.2015
Сообщений: 9,476
17.01.2024, 14:25
Для входа в Windows в дополнение к паролю можно ещё приделать и электронный ключ, навроде тех, что используются в домофонах. Или смарт-карты можно использовать. Это будет действовать и при разблокировке.
Как именно это делается я не в курсе.
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
17.01.2024, 15:24  [ТС]
AzAtom, Это дополнительные траты. Оно нам не нужно.
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,675
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru