Benutzer mit den meisten Antworten
File in Vista-Papierkorb verschieben

Frage
-
Eine Datei statt mit File.Delete(fulpathname) zu löschen in den Vista-Papierkorb verschieben.(Net Framework 4.0, WPF)
Versuch File.Move(fulpatname, "c:\\$RECYCLE.BIN\\geloescht.xyz") funktioniert nicht, wirft aber keine Exception. Wie muss codiert werden, damit Datei im Vista-Papierkorb landet?
Bitte um Hilfe Chris
Antworten
-
Hallo Chris,
der Papierkorb ist ein Konzept der Windows-Shell (Explorer), nicht des Dateisystems.
Daher muss man spezielle (native) Shell-APIs nutzen, welche in .NET (und hier C# im besonderen) kaum vorhanden sind.
einige Google-Hits (Interop oder VB-Verweis):
http://stackoverflow.com/questions/3282418/visual-c-send-a-file-to-the-recycle-bin
http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/f2411a7f-34b6-4f30-a25f-9d456fe1c47b/
http://stackoverflow.com/questions/721026/how-to-move-files-to-the-recycle-bin
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ce1e8a4a-dd6b-4add-84d1-95faa3d13404
Stand C#
http://connect.microsoft.com/VisualStudio/feedback/details/487966/file-delete-in-c-option-to-delete-to-recycle-bin- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 12:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:43
-
Hallo I.,
> Zugriff auf Shell:Shell kann mehreres sein, aber grundsätzlich einige Links dazu:
[1code - Release: All-In-One Code Framework 2010-10-10]
http://1code.codeplex.com/releases/view/53729
Natürlich auch immer selber mit PInvoke o.ä., aber die Nutzung der vorbereiteten managed Wrapper ist meistens ein Vorteil.
[Windows® API Code Pack for Microsoft® .NET Framework - Home]
http://code.msdn.microsoft.com/WindowsAPICodePackruhig trotzdem noch ein paar ältere Artikel:
[C# does Shell, Part 1 - CodeProject]
[C# does Shell, Part 2 - CodeProject]
[C# does Shell, Part 3 - CodeProject]
Es gibt weiterhin viele andere spezialisierte managed Zugriffs-Framework, je nach Thema, bzw. ob das dann noch etwas mit der Shell zu tun hat. Etwa der: [Task Scheduler Managed Wrapper]
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 12:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:43
Alle Antworten
-
Hallo Chris,
der Papierkorb ist ein Konzept der Windows-Shell (Explorer), nicht des Dateisystems.
Daher muss man spezielle (native) Shell-APIs nutzen, welche in .NET (und hier C# im besonderen) kaum vorhanden sind.
einige Google-Hits (Interop oder VB-Verweis):
http://stackoverflow.com/questions/3282418/visual-c-send-a-file-to-the-recycle-bin
http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/f2411a7f-34b6-4f30-a25f-9d456fe1c47b/
http://stackoverflow.com/questions/721026/how-to-move-files-to-the-recycle-bin
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ce1e8a4a-dd6b-4add-84d1-95faa3d13404
Stand C#
http://connect.microsoft.com/VisualStudio/feedback/details/487966/file-delete-in-c-option-to-delete-to-recycle-bin- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 12:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:43
-
Hallo I.,
> Zugriff auf Shell:Shell kann mehreres sein, aber grundsätzlich einige Links dazu:
[1code - Release: All-In-One Code Framework 2010-10-10]
http://1code.codeplex.com/releases/view/53729
Natürlich auch immer selber mit PInvoke o.ä., aber die Nutzung der vorbereiteten managed Wrapper ist meistens ein Vorteil.
[Windows® API Code Pack for Microsoft® .NET Framework - Home]
http://code.msdn.microsoft.com/WindowsAPICodePackruhig trotzdem noch ein paar ältere Artikel:
[C# does Shell, Part 1 - CodeProject]
[C# does Shell, Part 2 - CodeProject]
[C# does Shell, Part 3 - CodeProject]
Es gibt weiterhin viele andere spezialisierte managed Zugriffs-Framework, je nach Thema, bzw. ob das dann noch etwas mit der Shell zu tun hat. Etwa der: [Task Scheduler Managed Wrapper]
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 20. Oktober 2010 12:10
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 11. November 2010 14:43