Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ISensLogon als Ersatz für Winlogon Notification Pack? (https://www.delphipraxis.net/112992-isenslogon-als-ersatz-fuer-winlogon-notification-pack.html)

Heffalump 30. Apr 2008 18:47


ISensLogon als Ersatz für Winlogon Notification Pack?
 
Hallo zusammen,

die Winlogon Notification Package werden mit Vista nicht mehr unterstützt. In der Doku war dann da der Hinweis auf ISensLogon/ISensLogon2. Habe mich jetzt ein wenig damit beschäftigt und konnte im ersten Ansatz auch ein Objekt erstellen und registrieren. Problem ist, das mit dem ehemaligen "WNP" man sich im Userkontext befand (wenn man es wollte) und dadurch dass kleine Stück Software in diesem Kontext beim An- und Abmelden oder beim Sperren oder Entsperren die eine oder andere Aktion machen konnte. Geht dummerweise nicht mit ISensLogon. Jedenfalls habe ich nichts dazu gefunden. Die DLL wird als Teil eines Dienstes ausgeführt, während beim ehemaligen "WNP" das als Teil des Winlogonprozesses war.

Hat jemand eine Idee wie man das hinbekommt mit ISensLogon und Benutzerkontext?

MFG

Dezipaitor 1. Mai 2008 17:27

Re: ISensLogon als Ersatz für Winlogon Notification Pack?
 
Ich sehe da kein Problem:
Delphi-Quellcode:
HRESULT Logon(
  [in] BSTR bstrUserName,
  [in] DWORD dwSessionId
);
Du bekommst den Benutzername und die SessionID. Da diese Funktion als SYSTEM aufgerufen wird, kann man das Token ganz einfach, wie in
How to get the user’s token in a service beschrieben steht holen. Der Konstruktor CreateWTSQueryUserTokenEx nimmt dwSessionID entgegen. Danach muss man nur noch ImpersonateLoggedOnUser ausführen, und schon arbeitet der Thread im Benutzerkontext.

PS.
Hättest du Lust einen Artikel über die Benutzung zu schreiben? Im JEDI Windows API Repository gibt es bereits die SENS Event API als eine COM Header LIB.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz