Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.28;
Скачать: CL | DM;

Вниз

Winlogon notification package на Delphi   Найти похожие ветки 

 
Снежок ©   (2001-12-29 17:02) [0]

Срочно нужна помощь!
Кто-нибудь писал на Delphi Winlogon notification package? Регистрирую все правильно. Библиотека линкуется после рестарта машины. Но события не ловятся. При возникновении любого из событий должна быть произведена запись "Test" в текстовый файл(функция WriteStrToLog)
Никак не пойму в чем я ошибаюсь. При этом Функции нормально вызываются и работают из тестовой программы, а Winlogon их почему то не хочет выполнять. Пожалуйста подскажите что-нибудь господа системщики.

библиотека помещается в ..winnt\system\
Ключи в реестре:
...Winlogon\Notifi\MyNotifiPack
Asynchronouse=0
Impersonate=0
DLLName=notif.dll
Lock=WLEventLock
Logon=WLEventLogon
..... и т.д. (пары ключ-имя функции)

Вот код моей длл:
library notif;
uses
SysUtils,
Classes,Windows;

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 WriteStrToLog;
var
F :TextFile;
begin
AssignFile(F,"C:\Winlogon.log");
try
if not FileExists("C:\Winlogon.log") then
Rewrite(F);
Append(F);
then
Writeln(F,"Test");
finally
CloseFile(F);
end;
end;

procedure WLEventLock(pInfo:PWLX_NOTIFICATION_INFO);safecall;{или stdcall}
begin
WriteStrToLog();
end;

procedure WLEventLogoff(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventLogon(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventShutDown(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventStartScreenSaver(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventStartShell(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventStartUp(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventStopScreenSaver(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

procedure WLEventUnLock(pInfo: PWLX_NOTIFICATION_INFO);safecall;
begin
WriteStrToLog();
end;

{$R *.RES}
exports
WLEventLock name "WLEventLock",
WLEventUnLock name "WLEventUnLock",
WLEventLogon name "WLEventLogon",
WLEventLogoff name "WLEventLogoff",
WLEventShutDown name "WLEventShutDown",
WLEventStartScreenSaver name "WLEventStartScreenSaver",
WLEventStopScreenSaver name "WLEventStopScreenSaver",
WLEventStartShell name "WLEventStartShell",
WLEventStartUp name "WLEventStartUp";
begin
end.


 
Bachin   (2001-12-29 18:40) [1]

Чуть ошибся: Notify



Страницы: 1 вся ветка

Текущий архив: 2002.02.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
1-90571
tovSuhov
2002-02-12 08:29
2002.02.28
Drag&Drop и TreeView


4-90716
NetBreaker666
2002-01-02 14:09
2002.02.28
Каким образом отключить курсор мышки ?


14-90649
panov
2002-01-14 07:17
2002.02.28
Нужен алгоритм


1-90583
konorl
2002-02-06 04:23
2002.02.28
Метод AddPicture в WordBasic


7-90684
Dmitry V. Averuanov
2001-11-26 14:14
2002.02.28
Не могу отловить завершение работы моей программы вместе с Win.