هذا الكود لاستخراج الايقونات من الملفات لكن لو جربتم الكود للاحظتم ان الايقونات تكون ب16 لون ومنظرها غير جميل مع العلم انك لو رسمتها على الفورم ستكون ممتازة وبشكل طبيعي جدا
يمكن ملاحظة الفرق من ايقونات المسنجر في C:\Program Files\MSN Messenger
ارجو المساعدة
uses shellapi; procedure TForm1.Button1Click(Sender: TObject); var LargeIcon: HIcon; SmallIcon: HIcon; IconCount: Integer; i: Integer; FileName: PChar; begin // draw a stripe with all large icons contained in the file // and below of that a stripe with all small icons. if OpenDialog1.Execute then FileName:= pchar(OpenDialog1.FileName); IconCount := ExtractIconEx(FileName, -1, LargeIcon, SmallIcon, 0); for i := 0 to Pred(IconCount) do begin ExtractIconEx(FileName, i, LargeIcon, SmallIcon, 1); savetofile(LargeIcon); DrawIcon(Canvas.Handle, 5 + i * 36, 5, LargeIcon); DrawIconEx(Canvas.Handle, 5 + i * 36, 50, SmallIcon, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0, 0, DI_NORMAL); end; end;