В моем коде я получаю список изображений через функцию SHGETImageList с размером SHIL_JUMBO.
IImageList iml;
var hres = SHGetImageList(SHIL_JUMBO, ref iidImageList, out iml);
IntPtr hIcon = IntPtr.Zero;
iml.GetIcon(i, ILD_TRANSPARENT | ILD_IMAGE, ref hIcon);
Icon ico = (Icon)System.Drawing.Icon.FromHandle(hIcon).Clone();
ShellAPI.DestroyIcon(hIcon);
Все в порядке, но когда ему нужно получить меньшие значки (когда у них нет размера для 256x256), функция GetIcon возвращает мне значок размером 256x256, но с иконкой размером 32x32 в верхнем левом углу, Я хочу изменить размер этого значка на новый размер (256 х 256).
У меня нет информации о том, как изменить размер моего значка на 256 х 256. Каждая функция в iml (например GetImageInfo, GetImageRect) для этого размера возвращает пустую структуру.
Возможно получить информацию о том, что этот значок меньше, и я могу получить значок из другого источника.