![]() |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Moin Phreax,
Vorausgesetzt, Du startest das Programm als Service (Srvany), könnte es so gehen:
Delphi-Quellcode:
Abgeleitet aus
procedure WMQUERYENDSESSION(var Msg: TMessage); message WM_QUERYENDSESSION;
procedure WMENDSESSION(var Msg: TMessage); message WM_ENDSESSION; procedure TForm1.WMENDSESSION(var Msg: TMessage); begin CallWindowProc(DefWndProc,self.Handle,WM_ENDSESSION,Msg.wParam,Msg.lParam); end; procedure TForm1.WMQUERYENDSESSION(var Msg: TMessage); begin CallWindowProc(DefWndProc,self.Handle,WM_QUERYENDSESSION,Msg.wParam,Msg.lParam); end; Zitat:
|
Re: verhindern dass mein Programm beim abmelden gekillt wird
Hallo Christian!
Ich habe deine Code getestet. So wie du ihn geschrieben hast, blockiert er jedoch das abmelden. Wenn ich es per "shutdown -l" erzwinge wird die anwendung wieder beendet... mit einer kleinen änderung:
Delphi-Quellcode:
funktioniert zwar das normale abmelden wieder aber das Programm wird immer noch beendet...
procedure TForm1.OnTryQueryEndSession(var Msg: TMessage);
begin msg.Result := CallWindowProc(DefWndProc,self.Handle,WM_QUERYENDSESSION,Msg.wParam,Msg.lParam); end; //bzw: procedure TForm1.OnEndSession(var Msg: TMessage); begin msg.Result := CallWindowProc(DefWndProc,self.Handle,WM_ENDSESSION,Msg.wParam,Msg.lParam); end; schade eigentlich klang vielversprechend.... Trotzdem danke Also wer weiss eine weiter Lösungsmöglichkeit?? |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Ach ja ausserdem:
Zitat:
Obiger code bringt gar nix was geholfen hat war:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin CanClose := false; end; |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Ist Dein Problem jetzt gelöst? Ansonsten schau Dir mal
![]() |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Wenn dein Programm keine Oberfläche hat und braucht, warum dann die Forms? Nur dadurch werden ja die Nachrichten auch empfangen.
Abgesehen davon setzt du dein Programm potentiellen Gefahren aus ... |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Hallo Zusammen!
@Union: dankö für das Dokument es hat mich auf dei richtige Idee gebracht... das Problem war einfach das mein Service auf "interaktiv" und "lokales Systemkonto" eingestellt war. Dadurch wurde mein Programm immer platt gemacht vllt. auch deshalb Zitat:
Jedenfalls als ich den Service auf ein Administrator Konto einstellte funktionierte es brilliant, mein Programm läuft auch noch nach einer abmeldung... Fazit: PROBLEM GELÖST :lol: :thumb: :mrgreen: @Olli: Mein Programm besitzt noch eine Oberfläche weil ich kaum Erfahrung mit non-VCL Programmierung habe und nicht wüsste wie die INDY Komponenten ohne Form zu verwenden wären... Also das Problem lag woanderst als erst vermutet... ALso ein riesen großes DANKESCHÖN an alle die so tatkräftig mitgeholfen haben das Problem zu lösen :dp: |
Re: verhindern dass mein Programm beim abmelden gekillt wird
Zitat:
Zitat:
Zitat:
Nochmal zum Thema interaktiv, lies dir mal meine und Luckies Hinweise zum Thema ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 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