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_ENDSESSION Messages ignorieren (https://www.delphipraxis.net/78344-wm_endsession-messages-ignorieren.html)

phreax 3. Okt 2006 16:19


WM_ENDSESSION Messages ignorieren
 
Hallo Leute!
Ich habe folgendes Problem:
Meine Anwendung (ganz normale Win 32 anwendung) wird von einem Service gestartet wenn Windows bootet. Sie läuft also unter dem Konto SYSTEM. Wenn ich mich aber anmelde und wieder abmelde wir meine Anwendung gekillt weil sie immer noch auf WM_ENDSESSION messages reagiert. Ich habe versucht diese wie folgt zu ignorieren:

Delphi-Quellcode:
procedure OnEndSession(var Msg: TWMEndSession); message WM_ENDSESSION;
//...
procedure TForm1.OnTryQueryEndSession;
begin
Msg.Result := 11;//einfach sinnloser code und danach kein aufruf von inherited
end;


leider Funktioniert das ganze nicht... :wall:

auch folgendes brachte keinen Erfolg: :(

Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := false;
end;
Hat jemand eine idee wie ich meine Anwendung dazu bringen kann diese Login- Logout Sequenzen zu überleben???


Schon mal danke im voraus für alle Beiträge!

Sunlight7 3. Okt 2006 16:49

Re: WM_ENDSESSION Messages ignorieren
 
Zitat:

Zitat von phreax
//einfach sinnloser code und danach kein aufruf von inherited

In der OI steht doch:
Zitat:

Return Value

If an application processes this message, it should return zero
Hast Du es schon mal 0 als Rückgabe versucht?

SirThornberry 3. Okt 2006 16:52

Re: WM_ENDSESSION Messages ignorieren
 
Ob dein programm beendet wird oder nicht hängt nicht von dieser Message ab. Mit der Message kannst du das abmelden verhindern, aber ob das Programm beendet wird oder nicht hängt damit nicht zusammen.

phreax 3. Okt 2006 17:20

Re: WM_ENDSESSION Messages ignorieren
 
erst einmal danke für die schnellen Antworten :-D
@Sunlight7 habe das ganze mit 0 probiert und was stelle ich fest
SirThornberry hat recht das abmelden wird verhindert, erzwinge ich es jedoch wrid mein programm trotzdem gekillt.

Aalso nachedem alle bisherigen Lösungsversuche nicht von erfolg gekrönt waren...
werde ich ein neues thema mit allgemeinerer Fragestellung eröffnen....
Danke für die Hilfe und bitte weitere Beiträge im neuen Thread :stupid:


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