А знаешь почему? Опять же, своеобразное инженерно-программисткое
решение. Нигде в винде нет какой-нибудь структуры, БД для а) Строк
названий программ. б) Иконок. То есть меню вот как оно есть нигде
не сформировано какой-то единой структурой, в которую программы
добавляются (название+иконка) и удаляются. Пока ты разворачиваешь
пункты меню или просто бегаешь по меню курсором - в этот момент
динамически происходит обращение к диску, из ресурсов перечисленных
в меню
загружается строка-описатель и загружается иконка. "Обращение к диску" это не открытие файла. Нет, это загрузка страницы exe с диска, мэппинг ресурса в RAM. Этот мэппинг естественно более-менее кэширован в RAM, поэтому увеличение оперативки приводило к тому что меню начинало работать быстрее. Но все равно, это в любом случае чтобы увидеть одну строку меню грузится минимум 8К и два раза надо сделать SEEK - на секцию STRING и на секцию как она там называлась не помню, ICON что ли. (И все приложения что видно в меню конечно же разбросаны по всему диску). Позже, когда мелкомягкие стали полировать винду чтобы она бегала побыстрее (в XP или в Vista/7-ке) они сделали некий всеобщий кэш хотя бы иконок. (Но меню работает в точности так же).