An- bzw Abmeldung des Users erkennen



  • Neeh, hat er nicht.
    Ich habs aber auch mit einer "normalen" Anwendung probiert, bei der die Routinen in die Form1 eingebaut wurden. Da ist auch nix passiert.

    Hab jetzt noch ein bischen recherchiert. Es ist möglich, das WM_USERCHANGED nur in WIN9x gesendet wird. Kennt jemand ne andere Möglichkeit/Nachricht ??



  • Keiner ne Idee ??
    Hat noch nie einer das Problem gehabt ??



  • Hmm, was mir jetzt spontan einfällt, wäre den Benutzernamen in einer Textdatei zu speichern und ihn immerzu zu kontrollieren, ob es noch der selbe ist.



  • Wie wärs mit einer Userdatenbank (einer kleinen), drin steht der Username, Passwort, ob angemeldet oder nicht (bool-Feld) und seine persönlichen Einstellungen. Wenn sich ein User anmeldet, wird das Feld Online auf true gesetzt und seine Einstellungen werden geladen. Wenn er sich abmeldet, wird Online auf false gesetzt!



  • Verschiedene Beiträge in den Borland Newsgroups behaupten, WM_USERCHANGED würde unter WindowsNT und aufwärts nicht unterstützt. In der MSDN findet sich dafür allerdings kein Beleg, und es scheint auch nicht wirklich sinnvoll.

    Ich verschieb das mal nach WinAPI.



  • windows schickt an alle toplevel Fenster ein WM_QUERYENDSESSION vor dem Runterfahren.



  • WM_QUERYENDSESSION ist bekannt. Nur möchte ich den Userwechsel erkennen und nicht das runterfahren. Trotzdem thx.
    @ AlTheKingBundy:
    wie soll ich denn feststellen, das der User sich angemeldet hat ? 😕
    Das ist doch das Problem.



  • lParam
    If this parameter includes ENDSESSION_LOGOFF, the user is logging off. (Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.)
    If this parameter is zero, the system is shutting down.

    RegisterServiceProcess wär noch n blick wert



  • Hast du dazu irgendwo ein kleines Beispiel, mit der Auswertung von ENDSESSION_LOGOFF komm ich auch nicht ganz klar (BCB5).

    Gibts denn auch irgendeine Nachricht die verschickt wird, wenn sich der User anmeldet ?? Das wäre mir eigentlich viel wichtiger.



  • ich nehm an
    if(lParam & ENDSESSION_LOGOFF)
    //handle logoff

    über login steht direkt nix drin
    nur das hier halt

    Applications started by the system using the RunServices and RunServicesOnce keys will close when the user selects Close all programs and log on as a different user from the Shutdown dialog box. By calling the RegisterServiceProcess function, an application can prevent itself or any other application from being closed when the user logs off. Applications registered in this manner close only when the system is shut down.

    The application should provide for different users logging on at different times during its execution. The application can distinguish between a user logging off and the system shutting down by examining the lParam parameter of the WM_QUERYENDSESSION and WM_ENDSESSION messages. If the user shuts down the system, lParam is NULL. If the user logs off, lParam is set to ENDSESSION_LOGOFF.



  • - Hier stand Schwachfug -


Anmelden zum Antworten