Hallo,
ich habe folgendes Problem (ich hoffe, ich bin in der richtigen Toppic
):
Ich möchte beim beenden eines Programmes ein Verzeichnis und seinen Inhalt löschen ( Temporäre Dateien )
Jetzt kann es allerdings vorkommen, dass manche Dateien durch andere Programminstanzen noch in Nutzung sind.
Diese sollten natürlich nicht gelöscht werden, was auch nicht passiert.
Allerdings erhalte ich in diesem Fall immer eine nervige Meldung, dass Dateien nicht gelöscht werden können.
Hier ist mein Code:
Code:
procedure DeleteTemp;
var SourceLst: string;
FOS: TSHFileOpStruct;
begin
FillChar(FOS, SizeOf(FOS), 0);
FOS.wFunc := FO_DELETE;
SourceLst := PathTo + '\Temp\' + '*.*';
FOS.pFrom := PChar(SourceLst);
FOS.fFlags := FOS.fFlags OR FOF_NOCONFIRMATION;
SHFileOperation(FOS);
end;
Kann ich diese Meldung irgendwie unterdrücken? So, dass geöffnete Dateien / Verzeichnisse einfach nicht gelöscht werden, ohne dass der Nutzer das mitbekommt?
Danke im Voraus für eine Antwort!