Sprawdzanie, czy plik zawiera ikonę

Aby sprawdzić, czy dany plik, którego nazwę podalimy np. w Edit1, zawiera ikonę należy skorzystać z funkcji Windows API ExtractIcon. Poniższe wywołanie funkcji spowoduje przypisanie zmiennej NoOfIcons liczby ikon zawartych w tym pliku, jeśli wynosi ona 0 tzn., że plik nie zawiera ikon, jeśli jest ona większa od 0 to wyświetlamy na Image1 np. 1 ikonę z pliku:

Unit1.cpp

void __fastcall TForm1::Edit1Change(TObject *Sender)
{
   if (FileExists(Edit1->Text)
   {
      HICON NoOfIcons = ExtractIcon(Handle, Edit1->Text.c_str(), -1);
      Label1->Caption = "Liczba ikon: " + IntToStr((int)NoOfIcons);
      if ((int)NoOfIcons > 0)
      {
         Image1->Picture->Icon->Handle = ExtractIcon(Handle, Edit1->Text.c_str(), 0);
      }
   }
}