Contributor: JOHN RUZICKA { This function deletes a file in Windows 95 and moves it to the recycle bin. It returns True if the operation is successful, and False otherwise Syntax: x := RecycleFile(Filename); *** Distribute this file freely This unit written by John Ruzicka 75160.2376@compuserve.com based on code from Dennis Passmore and Steve Schafer on the BDELPHI forum } unit Recycle; interface uses Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs, ShellAPI; function RecycleFile(FileToRecycle: string): boolean; implementation function RecycleFile(FileToRecycle: TFilename): boolean; var Struct: TSHFileOpStruct; pFromc: array[0..255] of char; Resultval: integer; begin if not FileExists(FileToRecycle) then begin RecycleFile := False; exit; end else begin fillchar(pfromc,sizeof(pfromc),0); StrPcopy(pfromc,expandfilename(FileToRecycle)+#0#0); Struct.wnd := 0; Struct.wFunc := FO_DELETE; Struct.pFrom := pFromC; Struct.pTo := nil; Struct.fFlags:= FOF_ALLOWUNDO; Struct.fAnyOperationsAborted := false; Struct.hNameMappings := nil; Resultval := ShFileOperation(Struct); RecycleFile := (Resultval = 0); end; end; end.