Also wenn ich das richtig entziffere, dann muss das etwa so aussehen:
Delphi-Quellcode:
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// ShutdownBlockReasonCreate(Application.Handle, Format('%s speichert noch Dateien!', [Application.Title]));
//Verbindung beenden
//Inidatei schreiben
//ListViews in "Monitor.xml" speichern
// ShutdownBlockReasonDestroy(Application.Handle);
end;
Nur steh ich gerade auf dem Schlauch: Wie kann ich die Funktionen "ShutdownBlockReasonCreate" und "ShutdownBlockReasonDestroy" von Delphi aus ansteuern?
[edit]
so - nun hab ich den Aufruf hinbekommen:
Delphi-Quellcode:
function ShutdownBlockReasonCreate(HWND: hWnd; LPCWSTR: String): Boolean; stdcall;
external user32;
function ShutdownBlockReasonDestroy(HWND: hWnd): Boolean; stdcall;
external user32;
Aber leider funktionierts trotzdem nicht...
Wenn ich den Eintrag bei
MSDN richtig entziffere, dann müsste mit ShutDownBlockReasonCreate eine Meldung ausgeben mit dem Text den ich hinterlege, wenn meine Anwendung noch etwas braucht zum Runterfahren.
Mit ShutDownBlockReasonDestroy müsste dann meine Anwendung diese Meldung rücksetzen damit Windows normal runterfahren kann.
Aber es bleibt beim Alten - es wird nichts gespeichert und Win7 gibt keine Meldung aus