以编程方式刷新IconCache.db [英] Refresh IconCache.db programmatically

查看:92
本文介绍了以编程方式刷新IconCache.db的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个固定了firefox.exe的按钮.我通过注册表更改了固定图标,将路径设置为url:

I have a button for firefox.exe pinned. I changed the pinned icon via registry I set the path to a url:

  1. 我将firefox.exe文件夹添加到 HKEY_LOCAL_MACHINE :HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\并将其值设置为C:\Users\myUsername\Downloads\addon.ico
  2. 我将firefox.exe文件夹添加到 HKEY_CURRENT_USER :HKEY_CURRENT_USER\SOFTWARE\Classes\Applications\并将其值设置为C:\Users\myUsername\Downloads\addon.ico
  1. I added firefox.exe folder to HKEY_LOCAL_MACHINE: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\ and set it's value to C:\Users\myUsername\Downloads\addon.ico
  2. I added firefox.exe folder to HKEY_CURRENT_USER: HKEY_CURRENT_USER\SOFTWARE\Classes\Applications\ and set it's value to C:\Users\myUsername\Downloads\addon.ico

该路径上的图标肯定存在.

The icon at that path definitely exists.

但是即使我的图标被固定了,它也不会出现.我猜我必须刷新IconCache.db,您能推荐一种使用Win API做到这一点的方法吗?不希望重新启动计算机或程序,或者不注销计算机.

However even though my icon is pinned for it doesn't take. I'm guessing I have to refresh the IconCache.db can you please recommend a way to do this with win api? Without restarting computer or program or logging off computer please is my hope.

推荐答案

尝试一下:

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil)

或者您可以尝试以下方法:

Or you could try this:

SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH, 'YourPinnedFileName', nil)

这篇关于以编程方式刷新IconCache.db的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆