Datei-Icons herausfinden

Erklärung
Braucht man ein Icon zu einer dazugehörigen Datei, so kann man das auf diese Art erreichen...
Bsp.: Wenn ich die Funktion mit Pfad = C:\neu.txt starte bekomme auf meinem Computer dieses Icon 

Quelltext
Achtung: Nicht vergessen ShellApi einzubinden
  uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
  FileInfo: TSHFileInfo;
  Flags: Integer;
begin
if OpenDialog1.Execute then Begin
  //Ergibt kleines Icon... für ein großes Icon
  //einfach "or SHGFI_SMALLICON" weglassen...
  Flags := SHGFI_ICON or SHGFI_SMALLICON;

  //SHGetFileInfo-Proc aufrufen und mit der Variable
  //FileInfo empfangen
  SHGetFileInfo(PChar(OpenDialog1.Filename), //Dateiname
                0,                           //Hier: unwichtig
                FileInfo,                    //Empfangs-Varibale
                SizeOf(FileInfo),            //Größe der Var.
                Flags);                      //Großes /Kleines Icon

  //Handle dem Icon-Handle zuweisen
  Image1.picture.Icon.handle := FileInfo.hIcon;
  end;
end;