// 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;
|