以编程方式刷新IconCache.db

时间:2014-06-20 07:48:00

标签: winapi icons taskbar

我有一个firefox.exe固定按钮。我通过注册表更改了固定图标我将路径设置为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
  3. 该路径上的图标肯定存在。

    然而即使我的图标被固定,它也不能用。我猜我必须刷新IconCache.db你可以用win api推荐一种方法吗?如果没有重新启动计算机或程序或注销计算机,我的希望是。

1 个答案:

答案 0 :(得分:4)

试试这个:

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil)

或者你可以试试这个:

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