我以前就用楼上nizijian的方法,不过颜色有点失真!16色。
你试试下三个方法:(1)先用LoadLibraryEx(PChar (OpenDialog.FileName), 0,Load_Library_As_DataFile);
,然后用 EnumResourceNames 找图标资源。
(2)SHGetFileInfo(pchar(opendialog1.filename),0,FileInfo,sizeof(FileInfo),
SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_ICON);//定义FileInfo:TSHFileInfo
(3) DrawIcon(Form1.Canvas.Handle, 10, 10,ExtractAssociatedIcon
(HInstance, pchar(opendialog1.filename),IconIndex));//IconIndex:word