Löschen in den Papierkorb
 Info  
Von : Wolfgang Kluge
 Zusatz  
Printfreundliche Ansicht
Der Papierkorb. Gehasst - Verdammt - Vergöttert ;)

Wie oft schon ist eine Datei der Entf-Taste zum Opfer gefallen. Und wie oft wurde trotz Hinweiß, daß diese Datei jetzt in den Papierkorb verschoben ist mit OK beantwortet ?
Noch nie? Da sieht man, man hat einen Profi vor sich, aber leider (oder zum Glück,...was sollte denn das Ganze hier wenn´s nur die gäbe) gibt es nicht nur Profis.
Und diejenigen, die schonmal etwas in der Dateiverwaltung probiert haben, fragten sich bestimmt auch schon, wie man es hinbekommet, dass Dateien erstmal in den Papierkorb rutschen.

Die Lösung ist denkbar einfach....

 Deklaration:
Private Type SHFILEOPSTRUCT
  hwnd As Long
  wFunc As Long
  pFrom As String
  pTo As String
  fFlags As Integer
  fAnyOperationsAborted As Long
  hNameMappings As Long
  lpszProgressTitle As String
End Type
Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long


' Verschiebe Datei in Papierkorb
Dim FileOP As SHFILEOPSTRUCT
FileOP.wFunc = FO_DELETE
FileOP.fFlags = FOF_ALLOWUNDO

' Mehrere Dateien werden durch Chr(0) getrennt
FileOP.pFrom = "C:\test.txt" & Chr(0) & "C:\test.frm" & Chr(0) & Chr(0)

' Das Eigentliche Löschen
DelFile = SHFileOperation(FileOP)