So hoffe ich empfange die Message mit diesem code richtig:
Code:
private
procedure WMENDSESSION(var M: TWMENDSESSION); message WM_ENDSESSION;
procedure TForm1.WMENDSESSION(var M: TWMENDSESSION);
begin
inherited;
//Sicherung; // sollte zeitlich eigentlich nicht ins gewicht fallen aber sicher ist sicher
windows.Beep(800,400);
M.Result := 1; // Bestätigt das Herunterfahren (WICHTIG!)
Close;
end;
Der Code funktioniert nun wie vorher im offenen zustand und im minimierten zustand falls das programm im autostart gestartet wurde und nachträglich minimiert. Wenn es minimiert gestartet wird funktioniert er nie und wenn es von hand geöffnet wird und dann minimiert funktioniert er selten. Ich bin ratlos
Da die Sicherung(nur ein kleiner Dateizugriff) sowieso nicht lange dauert denke ich brauche ich auch keine Begründung für den Nutzer zudem erscheint mein Programm da garnicht und wird schon vorher beendet.
First, solve the problem. Then, write the code.