| |
|
|
| Un-endgültiges Löschen in den Windows-Papierkorb, aus der Schatztruhe von Andreas Hötker
KompilierenMarkierenSeparierenDef @SHFileOperation(1) !"SHELL32","SHFileOperationA"
Declare opstruct#,dir#
Proc Delete32
Löscht im Parameter (1) angegebenen Ordner (Datei) samt Unterordnern (oder Datei)
Parameter 2: 0 = User erst fragen, 1= ohne Nachfrage löschen
Parameter 3: 0 = In Papierkorb verschieben, 1= "endgültig" löschen
Parameters dir$,noconfirm%,norecycle%
Declare FOF_Flag%
Case noconfirm% : Let noconfirm%=16
CaseNot norecycle% : Let norecycle%=64
Let FOF_Flag% = @Or(noconfirm%,norecycle%)
Dim opstruct#,30
Dim dir#,Add(Len(dir$),2)
String dir#,0=@Add$(dir$,@Chr$(0))
Long opstruct#,0=%hwnd Handle des aufrufenden Fensters
Long opstruct#,4=3 FO_Delete
Long opstruct#,8=dir# pfrom : hier der zu löschende Ordner
Long opstruct#,12=0 pto (muß 0 oder eine Bereichvar. mit Zieldateinamen z.B. bei Umbenennung sein
Word opstruct#,16=FOF_Flag%
Long opstruct#,18=0 Hier steht nach dem Aufruf 1, wenn User abgebrochen hat
Long opstruct#,22=0 Unbedingt immer auf Null setzen!
Long opstruct#,26=0 Zeiger(Bereich) auf Überschrift des Fortschrittsdialogs
IF @Gt(@ShFileOperation(opstruct#),0)
@MessageBox("Es ist ein Fehler aufgetreten","ShFileOperation",16)
EndIf
Dispose dir#
Dispose opstruct#
EndProc
Windowstyle 31
Windowtitle "File löschen"
Window 0,0-640,440
Declare Programm$
LET Programm$=@LoadFile$("Datei löschen","*.*")
Delete32 Programm$,0,0
END
|
|
|
| |
|
|