上面那个是用API函数返回文件信息,用这个也行
uses shellapi;
var
    IconIndex : word;
    h : hIcon;  //返回的图标
begin
        IconIndex := 0;
        h := ExtractAssociatedIcon(hInstance,
                        PChar(filename),
                        IconINdex);
        //将图标显示出来DrawIcon(image1.Canvas.Handle,0,0,h);
end;

解决方案 »

  1.   

    下面代码还是不行,在image里打印空白
    procedure TForm1.Button1Click(Sender: TObject);
    var
        IconIndex : word;
        h : hIcon;  //返回的图标
    begin
            IconIndex := 0;
            h := ExtractAssociatedIcon(hInstance,
                            PChar('c:\a.exe'),
                            IconINdex);
            drawicon(image1.Canvas.Handle,1,1,h);        //将图标显示出来DrawIcon(image1.Canvas.Handle,0,0,h);
    end;
      

  2.   

    应该这样用:
     Image1.Picture.Icon.Handle:=ExtractIcon(hInstance,PChar('c:\a.exe'),0);
    我再问各位
    如何控制icon在picture里的显示位置?
    谢谢