{"id":422,"date":"2010-07-12T23:12:43","date_gmt":"2010-07-12T21:12:43","guid":{"rendered":"http:\/\/www.jurhuisman.nl\/?page_id=422"},"modified":"2016-06-22T13:06:48","modified_gmt":"2016-06-22T11:06:48","slug":"empty-recycle-bin","status":"publish","type":"page","link":"https:\/\/www.jurhuisman.nl\/?page_id=422","title":{"rendered":"Delphi &#8211; Empty recycle bin"},"content":{"rendered":"<pre>procedure EmptyRecycleBin;\r\nconst\r\n  SHERB_NOCONFIRMATION = $00000001;\r\n  SHERB_NOPROGRESSUI = $00000002;\r\n  SHERB_NOSOUND = $00000004;\r\ntype\r\n  TSHEmptyRecycleBin = function(Wnd: HWND;\r\n                                pszRootPath: PChar;\r\n                                dwFlags: DWORD): HRESULT;  stdcall;\r\nvar\r\n  SHEmptyRecycleBin: TSHEmptyRecycleBin;\r\n  LibHandle: THandle;\r\nbegin  { EmptyRecycleBin }\r\n  LibHandle := LoadLibrary(PChar('Shell32.dll'));\r\n  if LibHandle <> 0 then @SHEmptyRecycleBin :=\r\n      GetProcAddress(LibHandle, 'SHEmptyRecycleBinA')\r\n  else\r\n  begin\r\n    MessageDlg('Failed to load Shell32.dll.', mtError, [mbOK], 0);\r\n    Exit;\r\n  end;\r\n  if @SHEmptyRecycleBin <> nil then\r\n    SHEmptyRecycleBin(Application.Handle,\r\n                      nil,\r\n                      SHERB_NOCONFIRMATION or SHERB_NOPROGRESSUI or SHERB_NOSOUND);\r\n  FreeLibrary(LibHandle); @SHEmptyRecycleBin := nil;\r\nend;<\/code>\r\n\r\n<code>procedure TForm1.Button1Click(Sender: TObject);\r\nbegin\r\n  EmptyRecycleBin;\r\nend;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>procedure EmptyRecycleBin; const SHERB_NOCONFIRMATION = $00000001; SHERB_NOPROGRESSUI = $00000002; SHERB_NOSOUND = $00000004; type TSHEmptyRecycleBin = function(Wnd: HWND; pszRootPath: PChar; dwFlags: DWORD): HRESULT; stdcall; var SHEmptyRecycleBin: TSHEmptyRecycleBin; LibHandle: THandle; begin { EmptyRecycleBin } LibHandle := LoadLibrary(PChar(&#8216;Shell32.dll&#8217;)); if LibHandle 0 then @SHEmptyRecycleBin := GetProcAddress(LibHandle, &#8216;SHEmptyRecycleBinA&#8217;) else begin MessageDlg(&#8216;Failed to load Shell32.dll.&#8217;, mtError, [mbOK], 0); Exit; end; if @SHEmptyRecycleBin nil then SHEmptyRecycleBin(Application.Handle, nil, SHERB_NOCONFIRMATION or SHERB_NOPROGRESSUI or SHERB_NOSOUND); FreeLibrary(LibHandle); @SHEmptyRecycleBin := nil; end; procedure TForm1.Button1Click(Sender: TObject); begin EmptyRecycleBin; end;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":653,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-422","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/pages\/422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=422"}],"version-history":[{"count":5,"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions\/930"}],"up":[{"embeddable":true,"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=\/wp\/v2\/pages\/653"}],"wp:attachment":[{"href":"https:\/\/www.jurhuisman.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}