Arquivos - obter descricao e icone do shell do windows

Top  Previous  Next

uses ShellAPI;

 

// Retorna descrição do tipo do arquivo. Requer a unit ShellApi

function FileTypeName(const aFile: String): String;

var

  aInfo: TSHFileInfo;

begin

  if SHGetFileInfo(PChar(aFile),0,aInfo,Sizeof(aInfo),SHGFI_TYPENAME) <> 0 then

    Result := StrPas(aInfo.szTypeName)

  else

  begin

    Result := ExtractFileExt(aFile);

    Delete(Result,1,1);

    Result := 'Arquivo ' + Result;

  end;

end;

 

procedure TForm1.mlABtn2Click(Sender: TObject);

var

  aInfo: TSHFileInfo;

begin

  if SHGetFileInfo(PChar('C:\CX4.ARJ'),0,aInfo,Sizeof(aInfo),SHGFI_ICON + SHGFI_SMALLICON) <> 0 then

    Image1.Picture.Icon.Handle := aInfo.hIcon;

end;

 

procedure TForm1.mlABtn1Click(Sender: TObject);

begin

  Caption := FileTypeName('C:\Impressao.txt');

end;