获取exe文件超大图标

shikenan 2010-03-11 12:39:47
有些可执行文件有超大图标128×128的比如qq,
使用SHGetFileInfo(lpszExe,0,&stFileInfo,sizeof(stFileInfo),SHGFI_ICON|SHGFI_LARGEICON );
或者ExtractIconEx(lpszExe, 0, &hIcon1, &hIcon2, 1);
都只能得到32×32的 ,请问怎样才能得到qq的超大图标?

注:qq的这个大图标在vista桌面下用ctrl+滚轮 就能把他显示出来了。
...全文
510 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kzzhr 2012-07-07
  • 打赏
  • 举报
回复


有没有个vb2010交流群啊~
JustGentle 2012-07-01
  • 打赏
  • 举报
回复
图标是可以包含多个格式,多个大小的
explorer资源管理器会自动取最合适的格式显示.
我现在给自己的程序做了256/48/32/24/16各种大小,各种格式的图标,在资源管理器显示正常,但是用ExtractIcon获取只能拿到32*32的,同求
JustGentle 2012-07-01
  • 打赏
  • 举报
回复
上一楼搞错了,最后一个参数的作用是要获取的图标尺寸大小,比如,要获取256图标,就值为256
但是有些图标获取后透明好像不大对
HRESULT SHDefExtractIcon(
__in LPCTSTR pszIconFile,
int iIndex,
__in UINT uFlags,
__out_opt HICON *phiconLarge,
__out_opt HICON *phiconSmall,
UINT nIconSize
);
pszIconFile 包含图标的文件路径,exe,dll,ico等
iIndex 图标索引,exe,dll包含多个图标,可指定索引
uFlags 控制图标提取方式(不知如何控制!!!)
phiconLarge 大图标句柄
phiconSmall 小图标句柄
nIconSize 图标大小
JustGentle 2012-07-01
  • 打赏
  • 举报
回复
找到一个可以控制图标提取方式的函数
HRESULT SHDefExtractIcon(
__in LPCTSTR pszIconFile,
int iIndex,
__in UINT uFlags,
__out_opt HICON *phiconLarge,
__out_opt HICON *phiconSmall,
UINT nIconSize
);
pszIconFile 包含图标的文件路径,exe,dll,ico等
iIndex 图标索引,exe,dll包含多个图标,可指定索引
uFlags 控制图标提取方式(不知如何控制!!!,直接给0可以获取大图标,但是好像无透明度)
phiconLarge 大图标句柄
phiconSmall 小图标句柄
nIconSize 最大图标数
xi__yi 2010-11-27
  • 打赏
  • 举报
回复
32*32的在win7下放大后没有QQ的清晰的
密斯刘 2010-03-14
  • 打赏
  • 举报
回复
mark 等解决了再来学习
taofa817 2010-03-14
  • 打赏
  • 举报
回复





学习一下
c_youzi 2010-03-14
  • 打赏
  • 举报
回复
啥意思啊 ?
有点不懂
我觉得VISIT下的图标放大只是一个比例问题吧 如果把31*32的图标用到你的程序上,在桌面上按CTRL+滚轮也会放大的 如果桌面上的图标都是32*32那规格的,那你的图标也只能是这规格的,不可能比其他的大
yhp1888 2010-03-14
  • 打赏
  • 举报
回复
我们要得到,也要试验
shikenan 2010-03-11
  • 打赏
  • 举报
回复
哎 ,给自己顶一下。
qq10814 2010-03-11
  • 打赏
  • 举报
回复
不知道哦,我也是菜鸟

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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