![]() |
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 ![]() 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 |
AW: WM_USERCHANGED nach Vista
Vielleicht kommst du mit WTSRegisterSessionNotification zum Ziel?
Delphi-Quellcode:
Ggf. beim Empfangen von WM_WTSSESSION_CHANGE mit WTS_SESSION_LOGON den aktuellen mit dem zuvor gemerkten Usernamen/User-SID vergleichen?!
// 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; Siehe auch: ![]() ![]() |
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 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz