[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    unit ExtrIcon;

    interface
    uses ShellAPI, Graphics, WinTypes, SysUtils;

    function ExtractIconFromFile(FileName: string; Index: integer): HIcon;

    implementation

    function ExtractIconFromFile(FileName: string; Index: integer): HIcon;
    var
      Buff: array [0..255] of char;
      iNumberOfIcons: integer;
    begin
      { If we have a valid file. }
      if FileExists(FileName) then
         begin
         { Find out how many icons are in the file }
         iNumberOfIcons := ExtractIcon(hInstance, StrPCopy(Buff, FileName), Cardinal(-1));
         if (Index > 0) and (Index < iNumberOfIcons) and (iNumberOfIcons > 0) then
         Result:= ExtractIcon(hInstance, Buff, Index);
         end;

    end;

    end.

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]