Mega Code Archive

 
Categories / Delphi / Ide Indy
 

How to Programmatically Open the Recycle Bin from Delphi Code

Title: How to Programmatically Open the Recycle Bin from Delphi Code When you delete a file in Windows Explorer or My Computer, the file appears in the Recycle Bin. The file remains in the Recycle Bin until you empty the Recycle Bin or restore the file. Here's how to programmatically display the Recycle Bin to a user of your Delphi application. uses ShlObj, ShellAPI, ... ; Place a TButton named "OpenBinButton" on a form, handle its OnClick event as: procedure TRecycleBinForm.OpenBinButtonClick(Sender: TObject) ; var recycleBinPIDL: PItemIDList; execInfo: TShellExecuteInfo; begin SHGetSpecialFolderLocation(Handle, CSIDL_BITBUCKET, recycleBinPIDL) ; with execInfo do begin cbSize := Sizeof(execInfo) ; fMask := SEE_MASK_IDLIST; Wnd := Handle; lpVerb := nil; lpFile := nil; lpParameters := nil; lpDirectory := nil; nShow := SW_SHOWNORMAL; hInstApp:=0; lpIDList := recycleBinPIDL; end; ShellExecuteEx(@execInfo) ; end; Note: The code uses the SHGetSpecialFolderLocation Shell API function to get the location of the Recycle Bin, as a special folder (by passing the CSIDL_BITBUCKET value). ShellExecuteEx is used to open the Recycle Bin's "folder". Related: Delete files with the ability to UNDO (delete to Recycle Bin), Empty Recycle Bin (from Delphi code, of course).