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_WTSSESSION_CHANGE und "Windows-Sicherheit" (https://www.delphipraxis.net/143253-wm_wtssession_change-und-windows-sicherheit.html)

Schubi 12. Nov 2009 15:21


WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Hallo zusammen.
Ich habe ein Fenster, welches ich "hindurchklickbar" und halb transparent mache.
Dieser Status übersteht ein Sperren der Session (Win+L) oder ein wechseln des Benutzers nicht.
Darum setzte ich die Eigenschaften nach dem unlocken der Session neu.
Mein Code dazu basiert darauf:
http://www.delphipraxis.net/internal...115819&highlig

Delphi-Quellcode:
if Msg.Message = WM_WTSSESSION_CHANGE then begin
  if (Msg.wParam = WTS_CONSOLE_CONNECT)OR(Msg.wParam = WTS_SESSION_UNLOCK) then begin
    if Optionen.ClickTrough_State then
      Set_ClickTrough_State;
    [...]
  end;
  [...]
end;
Das klappt so weit wunderbar. Wenn ich aber Strg + Alt + Entf drücke, so dass der Bildschirm "Windows-Sicherheit" aufgeht (nicht direkt der Taskmanager), ist der Fensterstatus auch weg. Das scheint ähnlich dem Sperren der Workstation zu sein, jedoch reagiert WM_WTSSESSION_CHANGE nicht darauf.
Hat jemand eine Idee, wie ich dem Bildschirm "Windows-Sicherheit" oder besser gesagt dessen Verlassen mitbekommen könnte?

Grüßle,
Schubi

Dezipaitor 12. Nov 2009 19:25

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Hast du schon selbst die anderen WTS_ Konstanten überprüft?

Schubi 12. Nov 2009 19:31

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Welche wären das, wenn ich mal fragen darf?
Find gerade nix weiter.

Dezipaitor 12. Nov 2009 19:31

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
http://www.swissdelphicenter.ch/torr...de.php?id=1109

Schubi 12. Nov 2009 19:36

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Achso, die meinst du. Sorry... :wall:
Ja, die hab ich komplett durch :cry:

Dezipaitor 12. Nov 2009 19:44

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Achso, das ist kein Sessionereignis, weil einfach nur der Desktop gewechselt wird (mit Switchdesktop).
Es gibt da keine Event dafür. Das müsste man, soviel ich weiß, durch ständiges überprüfen herausfinden.

Schubi 12. Nov 2009 19:49

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Das wäre wohl der worst-case.
Muss doch irgendeine Message dafür geben :mrgreen:

Dezipaitor 12. Nov 2009 20:58

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
http://stackoverflow.com/questions/1...desktop-change

Schubi 12. Nov 2009 21:51

Re: WM_WTSSESSION_CHANGE und "Windows-Sicherheit"
 
Danke.
Das scheint ein Volltreffer zu sein.

Mir würde es ja reichen, irgendwie mitzubekommen, dass ein anderer Desktop aktiv war. Muss ja nicht sein, während er das noch ist.
Ich muss nur nachdem der normale Desktop wieder aktiv ist den Status des Fensters neu setzen.


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