procedure TForm1.Button1Click(Sender: TObject);
var
FileInfo: TSHFileInfo;
begin
if OpenDialog1.Execute then
begin
FileInfo.iIcon := 0;
SHGetFileInfo(PChar(OpenDialog1.FileName), 0, FileInfo, SizeOf(TSHFileInfo),
SHGFI_ICON or SHGFI_SMALLICON);
Image1.Icon.Handle := FileInfo.hIcon;
end;
end;