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 WM_USERCHANGED nach Vista (https://www.delphipraxis.net/187246-wm_userchanged-nach-vista.html)

Sherlock 11. Nov 2015 10:27

WM_USERCHANGED nach Vista
 
Hi,

gibt es eine Windows Message, die gefeuert wird, sobald sich ein Anwender an einem Rechner anmeldet - auch und vorallem wenn bereits jemand dort angemeldet ist?
Bisher fand ich nur die WM_USERCHANGED, die aber laut msdn nur bis Vista funktionierte.

Das Problem ist nämlich, daß ich eine Anwendung habe, die DB-Sessions offen hält. Wenn sich jetzt jemand per Token blitzschnell an dem Rechner anmeldet, "hängt" eine DB-Session da rum, bis der ursprüngliche Anwender wieder kommt, was unter Umständen auch erst am nächsten Tag passieren kann, bei 150 potentiellen Anwendern, kann es ganz arg böse werden. Ich würde also gerne auf diesen Nutzerwechsel reagieren können, und meine Anwendung in dem Fall schlicht beenden wollen.

Kennt Ihr da was?

Sherlock

TiGü 11. Nov 2015 11:20

AW: WM_USERCHANGED nach Vista
 
Vielleicht kommst du mit WTSRegisterSessionNotification zum Ziel?


Delphi-Quellcode:
// aus der Winapi.Windows

  { codes passed in WPARAM for WM_WTSSESSION_CHANGE } <--- aus Winapi.Messages
  WTS_SESSION_LOGON = $5;
  WTS_SESSION_LOGOFF = $6;

function WTSRegisterSessionNotification(hWnd: HWND; dwFlags: DWORD): Boolean; stdcall;
function WTSUnRegisterSessionNotification(hWnd: HWND): Boolean; stdcall;
Ggf. beim Empfangen von WM_WTSSESSION_CHANGE mit WTS_SESSION_LOGON den aktuellen mit dem zuvor gemerkten Usernamen/User-SID vergleichen?!

Siehe auch:
http://blog.delphi-jedi.net/2008/09/...notifications/
http://www.delphipraxis.net/97244-sp...-erkennen.html

Sherlock 11. Nov 2015 13:06

AW: WM_USERCHANGED nach Vista
 
Oha! Auf Windows Terminal Sessions wär ich nie gekommen. Danke dafür! Ich probier das mal aus.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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