求助, 利用Shell的Extract提取Icon, 提取不到某些文件的大图标.

localadam 2009-03-12 09:11:21
我用的操作系统是Vista Ultimate, 在把文件图标放大的时候可以明显看到txt文件是有256*256的图标的, 但是在我通过Extract方法提取图标时, 即使size的值指定为256取到的图标仍然是32*32的.

在用该方法取一些exe如notepad.exe时就可以取到256*256的大图标, 可见方法的使用是对的. 而且txt文件明明是有大图标的啊.

请问我该怎么做呢? 谢谢.
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cpp权哥 2009-03-19
  • 打赏
  • 举报
回复
用ExtractIconEx这个API吧,能分别提取大图标和小图标。
The ExtractIconEx function creates an array of handles to large or small icons extracted from the specified executable file, dynamic-link library (DLL), or icon file.

UINT ExtractIconEx(
LPCTSTR lpszFile,
int nIconIndex,
HICON FAR *phiconLarge,
HICON FAR *phiconSmall,
UINT nIcons
);

chin_chen 2009-03-15
  • 打赏
  • 举报
回复
chin_chen 2009-03-15
  • 打赏
  • 举报
回复
图标的大小关键在于你的设置,比如你用imagelist等的话,你设置一下图标的大小那个属性ICON是会根据实际的大小来自己调整的,你也可以用 VS.NET打开这个ICON来看一下这个ICON里的图是分成几个的,比如有多少色多大的象素等,一般来说一个ICON会有多个外观的,是哪一个外观取决于你的用它时的大小的定义.
localadam 2009-03-12
  • 打赏
  • 举报
回复
没有人知道吗?
  • 打赏
  • 举报
回复
。。帮up吧

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧