#include using namespace Upp; Image GetShellIcon(int ii, bool large) { HICON hIcon = NULL; const char *kpath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Icons"; Vector s = Split(GetWinRegString(AsString(ii), kpath), ','); String dll = "shell32.dll"; if(s.GetCount() == 2) { dll = s[0]; ii = atoi(s[1]); } return Win32DllIcon(dll, ii, large); } struct App : TopWindow { ArrayCtrl h; App() { Sizeable().Zoomable(); h.AddColumn("Icon no."); h.AddColumn("Small icon").SetDisplay(CenteredImageDisplay()); h.AddColumn("Large icon").SetDisplay(CenteredImageDisplay()); h.SetLineCy(32); for(int i = 0; i < 200; i++) h.Add(i, GetShellIcon(i, false), GetShellIcon(i, true)); Add(h.SizePos()); } }; GUI_APP_MAIN { App().Run(); }