Saturday, March 03, 2007

uses Activex, ShlObj, ComObj;
.
.
.

function KosJePrazdny : Boolean;
const
CLSID_IRecycleBin: TGUID = (D1: $645FF040; D2: $5081; D3: $101B; D4: ($9F, $08, $00, $AA, $00, $2F, $95, $4E));
var
EnumIDList : IEnumIDList;
FileItemIDList : PItemIDList;
ItemCount : ULONG;
RecycleBin : IShellFolder;
begin
CoInitialize(nil);
OleCheck(CoCreateInstance(CLSID_IRecycleBin, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IID_IShellFolder, RecycleBin));
RecycleBin.EnumObjects(0,
SHCONTF_FOLDERS or
SHCONTF_NONFOLDERS or
SHCONTF_INCLUDEHIDDEN,
EnumIDList);
Result := EnumIDList.Next(1, FileItemIDList, ItemCount) <> NOERROR;
CoUninitialize;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if KosJePrazdny then ShowMessage('Koš je prázdný.')
else ShowMessage('Koš obsahuje smazaná data.');

Labels: