Entwickler-Ecke
Windows API - [Win7] Ordner löschen
Bergmann89 - Mi 09.02.11 01:19
Titel: [Win7] Ordner löschen
Hey,
ich versuch grad unter Win7 nen Ordner (sammt Inhalt) zu löschen. Leider is das nich mehr so einfach wie unter XP, da hab ich einfach DeleteFile benutzt und schon war er weg (wenn ich mich recht erinner). Also hab ich mal in der MSDN Library gesucht und folgendes gefunden:
SHFileOperation [
http://msdn.microsoft.com/en-us/library/bb762164%28v=vs.85%29.aspx]
Laut Beschreibung kann dieser Befehl ein komplettes Verzeichniss sammt Inhalt rekursiev löschen, also wie gemacht für mein Problem. Nur leider kennt mein Delphi 7 diese Funktion nicht, bzw ich finde die Unit nicht, die ich dazu einbinden muss. Gibt es diese Funktion in Delphi 7 überhaupt schon, oder gibt es evtl noch eine andere Lösung für mein Problem? Wäre toll wenn mir da mal eben jmd helfen könnte.
gn8 Bergmann.
Narses - Mi 09.02.11 01:28
Moin!
Bergmann89 hat folgendes geschrieben : |
ich versuch grad unter Win7 nen Ordner (sammt Inhalt) zu löschen. Leider is das nich mehr so einfach wie unter XP, da hab ich einfach DeleteFile benutzt und schon war er weg (wenn ich mich recht erinner). |
Also, das halte ich aber für ein Gerücht. 8) Ordner(+Inhalt) konnte man noch nie "einfach so" löschen. :nixweiss:
Und schonmal bei uns in die Suche geschaut? AFAIR sollten wir da einiges zu haben. :les: :think: ;)
cu
Narses
Hobby-Programmierer - Mi 09.02.11 02:00
Moin ...,
sollte unter D 7 und Win 7 laufen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var aSHFOS : TSHFileOpStruct; szFrom : array[0..128] of Char; begin FillChar(aSHFOS, Sizeof(aSHFOS), #0); FillChar(szFrom, Sizeof(szFrom), #0); StrPCopy(szFrom, 'e:\Test'); with aSHFOS do begin Wnd := Handle; wFunc := FO_DELETE; pFrom := @szFrom; fFlags := FOF_NOCONFIRMATION or FOF_ALLOWUNDO; fAnyOperationsAborted := False; hNameMappings := nil; lpszProgressTitle:= nil; end; ShFileOperation(aSHFOS); end; |
LG Mario
Bergmann89 - Mi 09.02.11 02:07
Hey,
Narses hat folgendes geschrieben : |
Bergmann89 hat folgendes geschrieben : | ich versuch grad unter Win7 nen Ordner (sammt Inhalt) zu löschen. Leider is das nich mehr so einfach wie unter XP, da hab ich einfach DeleteFile benutzt und schon war er weg (wenn ich mich recht erinner). | Also, das halte ich aber für ein Gerücht. 8) Ordner(+Inhalt) konnte man noch nie "einfach so" löschen. :nixweiss: |
ok, dann hab ich mich jetzt geirrt^^
Narses hat folgendes geschrieben : |
Und schonmal bei uns in die Suche geschaut? AFAIR sollten wir da einiges zu haben. :les: :think: ;) |
Ich hab schon nach
ORDNER L?SCHEN und
DIRECTORY L?SCHEN gesucht, aber nix wirklich brauchbares gefunden.
Danke für die Mühe, aber ich muss dich leider enttäuschen. Er findet
TSHFileOpStruct nicht. Hast du vlt ne extra Unit eingebunten?
MfG Bergmann
Hobby-Programmierer - Mi 09.02.11 02:09
Sorry, hatte ich vergessen zu erwähnen :oops:
Bei mir lief es damals unter D 7 Pro. Der Code ist allerdings locker 10 Jahre alt.
Narses - Mi 09.02.11 02:23
Moin!
Bergmann89 hat folgendes geschrieben : |
Narses hat folgendes geschrieben : | Und schonmal bei uns in die Suche geschaut? AFAIR sollten wir da einiges zu haben. :les: :think: ;) | Ich hab schon nach ORDNER L?SCHEN und DIRECTORY L?SCHEN gesucht, aber nix wirklich brauchbares gefunden. |
Wie wäre es denn mit
SHFILEOPERATION gewesen? :zwinker: :lol:
cu
Narses
Delete - Mi 09.02.11 08:21
- Nachträglich durch die Entwickler-Ecke gelöscht -
Bergmann89 - Mi 09.02.11 10:54
Hey,
@Hobby-Programmierer: Danke. Die Unit is mir heut früh unter der Dusche auch in den Sinn gekommen ^^
@Narses: :autsch: schön blöd, hätt ich auch selber drauf kommen können :lol:
Gut dann hab ich jetzt alles was ich wollte un kann heut Abend weiter arbeiten. Dankeschön.
MfG Bergmann.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!