empty recycle bin/de
From Free Pascal wiki
Jump to navigationJump to search
Dieser Artikel behandelt ausschließlich Windows.
Siehe auch: Multiplatform Programming Guide/de
│
Deutsch (de) │
Zurück zur Seite Code Beispiele.
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
Die Prozedur leert den Papierkorb ohne Rückfrage.
Beispiel:
uses
Windows, SysUtils, ...;
...
function funPapierkorbLeeren: boolean;
const
SHERB_NOCONFIRMATION = $00000001;
SHERB_NOPROGRESSUI = $00000002;
SHERB_NOSOUND = $00000004;
type
{Definition der aufzurufenden Funktion wie Sie in der DLL Shell32.dll
definiert ist}
TSHEmptyRecycleBin = function(Wnd: HWND; pszRootPath: PChar; dwrFlag: DWORD):
HRESULT; stdcall;
var
SHEmptyRecycleBin: TSHEmptyRecycleBin;
LibHandle: THandle;
begin
Result := False;
// Ermittelt den Handle der Library
LibHandle := LoadLibrary(PChar('Shell32.dll'));
try
if LibHandle <> 0 then
begin
{Weisst der Variablen SHEmptyRecycleBin die Adresse des Funktionsaufrufs
der Funktion aus der DLL Shell32.dll zu.}
Pointer(SHEmptyRecycleBin) := GetProcAddress(LibHandle, 'SHEmptyRecycleBinA');
if @SHEmptyRecycleBin <> nil then
begin
//SHEmptyRecycleBin(Application-Handle ermitteln, ...
SHEmptyRecycleBin(GetParent(Form1.Handle), nil,
SHERB_NOCONFIRMATION or SHERB_NOPROGRESSUI or SHERB_NOSOUND);
Result := True;
end;
end;
finally
SHEmptyRecycleBin := nil;
FreeLibrary(LibHandle);
end;
end;
...