![]() |
WMQueryEndSession ????
Also ich habe mir grad mal die Geschichte "Windows herunterfahren" angeschaut und auch, wie man es stoppen kann. Das herunterfahren funzt ja schonmal, aber meine Probleme liegen jetzt dabei, das herunterfahren auch wieder zustoppen. Dazu hatte ich über einen Link der DP, die folgende Funktion gefunden..
Delphi-Quellcode:
Ja nur mir ist jetzt etwas unklar, wie ich dieße Funktion benutze, also was ich hier noch übergeben muss, das das herunterfahren auch gestoppt wird?! Oder brauch ich dieße Funktion so einfach nur noch z.B. bei einem Buttonklick aufrufen? Wär euch für eure Hilfe sehr verbunden!!
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin if MessageDlg('Close Windows now/ Windows beenden?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then Msg.Result := 0 else Msg.Result := 1; end; Gruß, |
Re: WMQueryEndSession ????
Du musst diese Prozedur so deklarieren:
Delphi-Quellcode:
Durch das Setzen des Rückgabewerts auf 0 verhinderst du das beenden.
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QUERYENDSESSION;
|
Re: WMQueryEndSession ????
Also ich hatte das jetzt mal versucht..
Aber welchen Parameter muss ich ihr übergeben, wenn ich 0 übergeben will, dann meint der Compiler:
Code:
:gruebel:
Die Typen der tatsächlichen und formularen Var-Parameter müssen übereinstimmen
|
Re: WMQueryEndSession ????
WMQueryEndSession wird im weitesten Sinne von Windows gerufen! Und das nur, wenn Windows beendet wird, bzw. der Benutzer sich ausloggt.
Warum willst du diese Procedure rufen. |
Re: WMQueryEndSession ????
Msg.Result ist der Rückgabewert, der an Windows übergeben wird.
|
Re: WMQueryEndSession ????
Zitat:
Zitat:
Und da ich nicht genau weiß, welchen Wert ich übergeben muss um das eingeleitete herunterfahren notfalls doch noch stoppen zu können. Aber mal schauen, vielleicht kann ich das Problem auch im Timer lösen... :gruebel: |
Re: WMQueryEndSession ????
Bau diese Windows-Botschaft in dein Formular ein und gib wie es hier schon genannt wurde, und auch im Quellcode steht 0 zurück.
|
Re: WMQueryEndSession ????
Also die Funktion ist bei mir so Deklariert:
Delphi-Quellcode:
und so wollte ich sie aufrufen
procedure WMQueryEndSession (var Msg : TWMQueryEndSession);
begin if MessageDlg('Windows beenden?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then Msg.Result := 0 else Msg.Result := 1; end;
Delphi-Quellcode:
und da kam dieße Meldung:
WMQueryEndSession(0);
Code:
Die Typen der tatsächlichen und formularen Var-Parameter müssen übereinstimmen
|
Re: WMQueryEndSession ????
Also die Funktion ist bei mir so Definiert:
Delphi-Quellcode:
und so wollte ich sie aufrufen
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QUERYENDSESSION;
Delphi-Quellcode:
und da kam dieße Meldung:
WMQueryEndSession(0);
Code:
Die Typen der tatsächlichen und formularen Var-Parameter müssen übereinstimmen
|
Re: WMQueryEndSession ????
Die Procedure wird von Windows gerufen. Siehe eines meiner post's darüber!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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