小编ark*_*ykl的帖子

SHGetImageList - SHIL_JUMBO用于较小的图标(32,32)

在我的代码中,我通过函数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);
Run Code Online (Sandbox Code Playgroud)

一切都还可以,但是当它必须得到更小的图标时(当它们的大小不是256x256时),GetIcon函数会返回一个大小为256x256的图标,但左上角的图标大小为32x32.我想将此图标调整为新大小(256 x 256).

我没有任何关于如何让系统将我的图标大小调整为256 x 256的信息.对于这个大小,iml中的每个函数(如GetImageInfo,GetImageRect)都返回一个空结构.

可以获得此图标较小的信息,我可以从其他来源获取图标.

c# icons windows-vista

17
推荐指数
1
解决办法
3203
查看次数

标签 统计

c# ×1

icons ×1

windows-vista ×1