Jak pobrać ikonkę danego rozszerzenia nie podając pliku?
Ja robię tak:
var
Ico : PShFileInfo;
begin
GetMem( Ico, sizeof(TShFileInfo) );
try
shGetFileInfo( PChar('Plik.sys'), 0, Ico^, sizeof(TShFileInfo), shgfi_sysiconindex or shgfi_icon or
shgfi_smallicon);
Image1.Picture.Icon.Handle:=Ico.hIcon;
finally
FreeMem(ico);
end;
Ale wada w tym że ma rozpoznawać ikonkę po rozszerzeniu a nie po pliku.
Kompinować z rejestrem mi się nie chce (np. HKEY_CLASSES_ROOT\exefile\DefaultIcon).
Można też tymczasowo utworzyć plik i użyć powyższej funkcji,ale to bez sensu.
Zna może ktoś lepszy i prostszy sposób?