Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Kopieren wenn Windows beendet wird

  Alt 18. Sep 2006, 20:22
Hallo,

zum abfragen, ob Windows beendet wird verwend ich diesen Code:
Delphi-Quellcode:
procedure TMainForm.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
  //Windows erlauben zu beenden
  Msg.Result := 1;

  //Wenn Windows beendet wird, dann Variable auf true setzen
  Windows_Session_End := true;

  //Programm schliessen
  close;

  inherited;
end;
Nun würd ich gerne, wenn Win beendet wird, noch mit ShellApi eine Datei kopieren und erst wenn diese fertig ist, Windows beenden lassen.

Kopieren tu ich mit:
Delphi-Quellcode:
function ShellFileOperation(Quelle: string; Ziel: string; Flags: Integer): Boolean;
var
  shellinfo: TSHFileOpStructA;
begin
  with shellinfo do
    begin
      wnd := Application.Handle;
      wFunc := Flags;
      pFrom := PChar(Quelle);
      pTo := PChar(Ziel);
    end;

  Result := SHFileOperation(shellinfo) = 0;
end;
Wenn ich nun die kopierfunction in die obere procedure einbinde, dann bekomm ich eine Fehlermeldung, dass die datei nicht kopiert werden konnte, oder der Datenträger nicht mehr vorhanden sei.

Wie kann ich es machen, dass beim Win-Beenden noch kopiert wird?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat