// Hiermit kann man sich das Icon zur entsprechenden Datei holen.
// Mit
gross wird gesteuert, ob es das 32x32 oder das 16x16 Icon
// ist (soweit vorhanden). Mit
selektiert=True bekommt das
// Icon das Aussehen als wäre es angeklickt.

// Getestet mit D4 unter WinME

uses shellapi;

function GetHIcon(Datei:string;gross,selektiert:boolean):HIcon;
var
FileInfo:SHFileInfo;
begin
SHGetFileInfo(pchar(Datei),0,FileInfo,
sizeof(FileInfo),SHGFI_USEFILEATTRIBUTES or SHGFI_Icon
or SHGFI_SmallIcon * ord(not gross) or SHGFI_SELECTED * ord(selektiert));
result:=FileInfo.hIcon;
end;

// Beispielaufruf:
// Das Programm bekommt das Icon von MS-Word (in der Taskbar)
// und Form1 erhält das allgemeine Icon für Bitmaps
procedure TForm1.Button8Click(Sender: TObject);
begin
application.icon.handle:=
GetHIcon('c:\Programme\Microsoft Office\Office\winword.exe',false,false);
Form1.icon.handle:=GetHIcon('*.bmp',false,false);
end;
 

 


 

Zugriffe seit 6.9.2001 auf Delphi-Ecke