Hallo Nils,
nimm die Funktion SHGetFileInfo aus der
Unit ShellAPI:
Delphi-Quellcode:
uses
ShellAPI;
function GetFileIcon(const FileName: string; const Icon: TIcon; const FileMustExist: Boolean): Boolean;
var
FI: TSHFileInfo;
Attributes: DWORD;
Flags: Word;
begin
if FileMustExist then
begin
Attributes := 0;
Flags := SHGFI_ICON or SHGFI_LARGEICON;
end
else
begin
Attributes := FILE_ATTRIBUTE_NORMAL;
Flags := SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_LARGEICON;
end;
if SHGetFileInfo(PChar(FileName), Attributes, FI, SizeOf(FI), Flags) <> 0 then
begin
Icon.ReleaseHandle;
Icon.Handle := FI.hIcon;
Result := True;
end
else
Result := False;
end;
Ein Aufruf mit
Delphi-Quellcode:
if not GetFileIcon('*.pas', Image1.Picture.Icon, False) then
ShowMessage('Default-Icon geladen');
lädt das große Icon, das Delphi-Quelltexten zugeordnet ist. Im Fehlerfall wird ein
Default geladen, wenn FileMustExist auf False steht. Steht FileMustExist auf True,
wird im Fehlerfall kein Icon geladen.
jkr