安装程序后,快捷方式的图标没更新

饿半肚 2012-04-17 03:27:24
我是用NSIS打包程序的,当前版本的程序换了一个图标,但是在安装之后桌面上的快捷方式不会自动更新成新的图标。

在网上各种搜,首先有方法——
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);

这个方法对于改变了文件关联后换图标估计是有效的,但是现在这个情况无效。

另外有方法——
先把注册表项
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\Shell Icon Size
改一个值,然后
::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, NULL);

最后再改回来,再次SendMessage。
这样行是行了,我也不介意屏幕会闪烁,但是桌面的所有图标的位置全都重排了。如果我是用户,我会立誓从此不用这款软件的。

求解决。。谢谢大家。。
...全文
754 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
饿半肚 2014-06-25
  • 打赏
  • 举报
回复
万年不上CSDN,碰巧今天上了,哈哈。不过很可惜,估计是没解决,如果解决了我应该会回个帖的。不过。。我貌似上面刚好已经回了三次。。其实我的印象是,这好像是NSIS的BUG,无解。印象。
lxa520 2014-06-24
  • 打赏
  • 举报
回复
找到解决办法了吗? 最近也碰到这个问题。
饿半肚 2012-04-21
  • 打赏
  • 举报
回复
又找到一种方法,就是干掉explorer.exe,然后再启动它。可以用批处理实现——
taskkill /f /im explorer.exe
start explorer

但是这样做的话,用户所有的“我的电脑”窗口都会没了,还不是好办法。
饿半肚 2012-04-20
  • 打赏
  • 举报
回复
向上~
饿半肚 2012-04-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

http://topic.csdn.net/u/20120228/16/23a64d86-265d-4642-8a17-ed459dbe5479.html
[/Quote]

那个批处理文件没效果。另外的那个方法也就是我说的第二个方法。
Becomly 2012-04-18
  • 打赏
  • 举报
回复
遇到楼主的问题,望高手解答
dvlinker 2012-04-17
  • 打赏
  • 举报
回复
一直用InstallShield的帮忙顶啦!
饿半肚 2012-04-17
  • 打赏
  • 举报
回复
char szOut[3] = {0x75, 0x70, 0x00};
printf(szOut);

2,586

社区成员

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

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