File Delete ab Vista
-
Hallo zusammen.
Ich versuche seit geraumer Zeit Files zu löschen die dann im Papierkorb landen. Das ganze soll unter Vista und Windows 7 laufen.
Dazu bietet sich ja die IFileOperation an.
Aber ich bekomm das nicht so recht hin da ich leider nicht so fit bin was das betrifft.
Ich finde auch keinen brauchbaren Beispielcode.
So wie ich das Verstanden habe muss ich gewisse methoden der Reihe nach aufrufen bzw werte setzen damit das funktioniert.Im einfachstem fall kann ich ja mit
HRESULT DeleteItem( IShellItem *psiItem, IFileOperationProgressSink *pfopsItem );gefolgt von
HRESULT PerformOperations(VOID);ein File zb. Löschen. In der MSDN steht quasi die Syntax leider bin ich damit etwas überfordert.
Wie muss das ganze jetzt wo hin?und hab ich das richtig mitbekommen das ich nur die shobjidl.h includen muss?
Benutze c++Builder2009
-
-
Das funktioniert leider nur bis WindowsXP ab Windows Vista muss es IFileOperation sein.
Und diese funktioniert etwas anders. Leider denn das SHFileOperation bekäme ich hin.
Ist hier nachzulesen:
http://msdn.microsoft.com/en-us/library/bb775771(VS.85).aspx
-
Paule100 schrieb:
Das funktioniert leider nur bis WindowsXP ab Windows Vista muss es IFileOperation sein.
Und diese funktioniert etwas anders. Leider denn das SHFileOperation bekäme ich hin.
Ist hier nachzulesen:
http://msdn.microsoft.com/en-us/library/bb775771(VS.85).aspxQuark! SHFileOperation funktioniert problemlos unter Vista!
Woraus schließt, Du, dass es nicht mehr gehen soll?
Die Doku von SHFileOperation sagt nicht mal das die Funktion deprecated ist:
http://msdn.microsoft.com/en-us/library/bb762164(VS.85).aspx
-
Paule100 schrieb:
Das funktioniert leider nur bis WindowsXP ab Windows Vista muss es IFileOperation sein.
Ist hier nachzulesen:
http://msdn.microsoft.com/en-us/library/bb775771(VS.85).aspxZitiere doch mal die Zeile, in der das steht.

Du darfst nicht so viel zwischen den Zeilen lesen... da steht nämlich nix!

-
Weis nicht ob ich da was falsch verstanden habe:
Zitat:
SHFileOperation Function
Copies, moves, renames, or deletes a file system object. This function has been replaced in Windows Vista by IFileOperation.http://msdn.microsoft.com/en-us/library/bb762164(VS.85).aspx
-
Ihr egoistischen Schweine!! Hilft mir doch -.-
-
Hast du SHFileOperation denn mal unter Vista ausprobiert? Mach das doch einfach mal... äh... du egozentrische Sau!

-
also das letzte war nicht von mir.
Ja hab ich ausprobiert - und ging nicht. Das gleiche bei xp funktionierte. Hab ich auf der arbeit ausprobiert.
-
weis den das echt keiner wie man das anwendet?
-
paule100 schrieb:
weis den das echt keiner wie man das anwendet?
Was ging nicht?
Was sagt GetLastError?
-
Ja das ist ja das Prtoblem.. Ich weis ja garnicht wo ich nfangen soll.
zb wie ich die flags setzte und wo gebe ich an bzw wie welches file gelöscht werden soll.
in der msdn steht die Syntax und leider ist das für mich zu schwierig.
mit SHFileOperation hatte ich das Beispiel us der FAQ genommen.
-
Tja dann solltest Du erstmal ein paar Basics lernen...
Wie soll man Dir helfen, wenn Du nicht mal weißt was Du nicht weißt.