Ikony systemowe

0

Jak uzyskac ikony systemowe skojarzone z rozszerzeniem pliku podając funkcji samo rozszerzenie (nie pełną nazwę pliku wraz ze ścieżką).

0

Z Klucza HKEY_CLASSES_ROOT.{szukane rozszerzenie} odczytujesz wartość domyślną, a następnie w HKEY_CLASSES_ROOT{to co odczytałeś poprzednio}\DefaultIcon w Domyslnym kluczu masz nazwę ikony.

0
Procedure FileBitmap(Const Name:String; Const Bitmap:TBitmap);
Var SHI:_SHFILEINFO;
    Ikona:TIcon;
    B:TBitmap;
Begin
  Ikona:=TIcon.Create;
  B:=TBitmap.Create;
  B.Height:=16;
  B.Width:=16;
  B.Canvas.Brush.Color:=clMenu;
  B.Canvas.FillRect(B.Canvas.ClipRect);
  SHGetFileInfo(PChar(Name),0,SHI,SizeOf(SHI),SHGFI_ICON OR SHGFI_SMALLICON);
  Ikona.Handle:=SHI.hIcon;
  B.Canvas.Draw(0,0,Ikona);
  Bitmap.Assign(B);
  B.Free;
  Ikona.Handle:=0;
  Ikona.Free;
End;

Kod dość kiepski, ale zawsze coś ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1