Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Gibt's eine Papierkorb? (https://www.delphipraxis.net/167174-gibts-eine-papierkorb.html)

Mattze 16. Mär 2012 12:05

Gibt's eine Papierkorb?
 
Hallo,

wahrscheinlich sehe ich mal wieder den Wald vor lauter Bäumen nicht...

Wie kann ich von einem Laufwerk feststellen, ob es einen Papierkorb hat?
Und zwar unabhängig vom BS.
Wenn ich mich recht erinnere:
Unter Win 98 hieß der Ordner "RECYCLED", unter XP war es "RECYCLER", unter Win7 scheint es "$RECYCLE.BIN" zu sein.
Wie wird er unter Win8 heißen?
Muss man abhängig vom System den Namen abtesten. Das ist nicht schlimm, aber ich finde es eben doch sehr unschön.

(Drive_Fixed reicht übrigens nicht - siehe Subst unter Win7: Problem hier im Forum von himitsu angesprochen)

Und wie ist das eigentlich bei externen USB-Platten. Haben die einen? (Ich habe gerade keine dran, um selber nachzuschauen!)

Tschau
Mattze

Steku 16. Mär 2012 12:13

AW: Gibt's eine Papierkorb?
 
Hi,

ich weiß nicht ob es weiterhilft, vielleicht mal zum stöbern oder
als Anregung:

http://www.delphi-forum.de/topic_TRe...in_100292.html

Gruß
Steku

shmia 16. Mär 2012 12:23

AW: Gibt's eine Papierkorb?
 
Guggst du hier:
http://blogs.msdn.com/b/oldnewthing/...8/8956382.aspx

>>Und wie ist das eigentlich bei externen USB-Platten. Haben die einen?
Ja.

Mattze 16. Mär 2012 13:01

AW: Gibt's eine Papierkorb?
 
Hallo,

vielen Dank. Das ging ja sehr schnell.

Aber leider scheint das auch nicht die Lösung zu sein:
>>shmia:
Da steht drin: "Of course, now that I told you how to do it, I have to tell you that this is not how to do it."
Außerdem möchte ich ja nicht wissen, ob ein Verzeichnis ein Papierkorb ist, sondern ob das Laufwerk überhaupt einen hat.
Da alle Verzeichnisse durchzugehen und zu testen, wäre wohl schon zeitlich kaum akzeptabel.

>>steku:
Habe ich mir angeguckt. Mein Problem scheint damit aber auch nicht gelöst zu werden. "OpenRecycleBin" gibt nur "global" zurück, ob es überhaupt geht. Nicht laufwerksbezogen.
Und "EmptyRecycleBinDrive" ist zwar laufwerksbezogen, aber dafür löscht es mir auch gleich den Papierkorb - und das will ich ja nicht!

(Ich möchte vor dem Löschen einer Datei eine Sicherheitswarnung ausgeben. Ist ein Papierkorb da, wird - ohne Warnung - dorthin gelöscht,
gibt's keinen, wird gewarnt und evtl. richtig ("endgültig") gelöscht. Das geht auch alles sehr gut, nur eben die Frage, ob überhaupt ein Papierkorb da ist, kann ich momentan nur durch den "Namenstest" erschlagen. Schön und wirklich sicher finde eich das aber nicht!)

Gruß
Mattze

p80286 16. Mär 2012 13:25

AW: Gibt's eine Papierkorb?
 
Dann schau doch mal hier:
http://efreedom.com/Question/1-93639...cal-NTFS-Drive

Das scheint die gleiche Frage zu sein, die auch Dich beschäftigt.

Gruß
K-H

Mattze 16. Mär 2012 15:39

)
 
Hallo K-H,

vielen Dank für den Tipp.
Das ist genau die gleiche Frage und sie tröstet mich etwas. Ich dachte, dass wäre so einfach, dass es mir schon peinlich sein müsste, danach überhaupt zu fragen.
Ist es aber offenbar gar nicht!
Das Wurzelverzeichnis nach einem Papierkorbeintrag durchzusuchen, finde ich "primitiv".
(Nicht von dem, der es gemacht hat, sondern dass Minimalweich da keine direkte Möglichkeit zu geben scheint!)

Mal sehen, ob ich es mit SHQueryRecycleBin hinkriege. Aber das wäre auf jeden Fall nicht eindeutig!

Ich werde es wohl auch mit dem Durchsuchen machen müssen...

Gruß
Mattze

Mattze 16. Mär 2012 16:04

AW: Gibt's eine Papierkorb?
 
Hallo,

eben mal mit SHQueryRecycleBin probiert.

Das geht klar, wenn ein Papierkorb da ist. Dann gibt es S-OK zurück.
Wenn keiner da ist, gibt es E_Fail zurück. Das heißt laut MSDN: "Unspecified failure, 0x80004005"

Das geht für USB-Stick und auch für DVDs, auch wenn keine drin ist.
Es liegt also nicht wirklich am fehlenden Papierkorb.
Das ist aber auch egal. Auf jeden Fall ist er nicht benutzbar. Das reicht mir eigentlich schon.

Gruß
Mattze

mz23 22. Mär 2012 06:59

AW: Gibt's eine Papierkorb?
 
Zitat:

Zitat von Mattze (Beitrag 1156905)
Hallo,

...
(Ich möchte vor dem Löschen einer Datei eine Sicherheitswarnung ausgeben. Ist ein Papierkorb da, wird - ohne Warnung - dorthin gelöscht,
gibt's keinen, wird gewarnt und evtl. richtig ("endgültig") gelöscht. Das geht ...

Gruß
Mattze

Hallo Matze,
wenn man Shift+Del drückt wird auch endgültig gelöscht, wenn
ein Papierkorb da ist, allerdings mit Warnung vom OS :)

Wollte ich nur sagen :)

Schöne Grüße aus Nürnberg,
Manfred


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz