Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: Winlogon Notify - DLL Funktionen werden nicht aufgerufen

  Alt 17. Nov 2006, 21:31
So, ich habe jetzt die folgende DLL, die einfach nur jede 10 Sekunden eine Message anzeigen soll:

Delphi-Quellcode:
library WinLogon;

uses
  Windows,
  MMSystem,
  dialogs;

type
  PWSTR = PWideChar;
  HANDLE = Longword;
  PFNMSGECALLBACK = function(bVerbose: BOOL; lpMessage: LPWSTR): DWORD; stdcall;

  _WLX_NOTIFICATION_INFO = record
    Size: ULONG;
    Flags: ULONG;
    UserName: PWSTR;
    Domain: PWSTR;
    WindowStation: PWSTR;
    hToken: HANDLE;
    hDesktop: HDESK;
    pStatusCallback: PFNMSGECALLBACK;
  end;
  WLX_NOTIFICATION_INFO = _WLX_NOTIFICATION_INFO;
  PWLX_NOTIFICATION_INFO = ^WLX_NOTIFICATION_INFO;

var
  TimerID: Longword;
  DelayTime: integer = 10000;
  Files: Textfile;

procedure TimerCallback(uTimer, uMessage, dwUser, dw1, dw2: Cardinal); stdcall;
begin
  showmessage('test');
end;

procedure WLEventLogon(pInfo: PWLX_NOTIFICATION_INFO); stdcall;
begin
  TimerID := timeSetEvent(DelayTime, 0, TimerCallback, 0, 0);
end;

procedure WLEventLogoff(pInfo: PWLX_NOTIFICATION_INFO); stdcall;
begin
  timeKillEvent(TimerID);
end;

exports
  WLEventLogon,
  WLEventLogoff;

begin

end.
Nur leider werden keine Nachrichten angezeigt. Nach einem Neustart ist die DLL ordnungsgemäß im Winlogon Prozess geladen, aber meine Events werden nicht abgearbeitet.

In der Registry habe ich

Code:
"Logon"="WLEventLogon"
"Logoff"="WLEventLogoff"
zu dem Dllnamen und Impersonate und Asynchronous eingetragen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat