如何在 Windows 中立即刷新文件夹图标

How to refresh the folder icon instantly in Windows

本文关键字:刷新 文件夹 图标 Windows      更新时间:2023-10-16

我现在正在编写一个小工具,需要立即刷新文件夹图标。
众所周知,在Windows中,我们可以通过以下步骤手动修改文件夹图标:

  1. 右键单击文件夹
  2. 选择"自定义"标签
  3. 点击"更改图标">

我还知道如何设置桌面.ini文件以修改其图标。但是刷新确实需要很长时间(大约 30 秒)。

我想知道是否有一种通用的方法可以立即解决它,无论使用 C/C++ 还是脚本。或者Windows从来没有提供一种方法?

如果可能,欢迎任何代码。

这个小的C程序将完成这项工作:

#include <windows.h>
#include <ShlObj.h>
const char folderpath[] = "C:\Your-Folder";
int main() {
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH, folderPath, NULL);
}

folderpath是要更新其图标的文件夹的完整路径 以下操作顺序在这里工作正常(Windows 10 64 位):

桌面.ini文件

[.ShellClassInfo]
IconResource=C:WindowsSystem32SHELL32.dll,12
  1. 创建文件夹 X
  2. 将上面的桌面.ini文件复制到文件夹中。X 文件夹的图标不会改变
  3. 运行上面的小 C 程序
  4. 新图标显示在 X 文件夹上
  5. 删除在第 2 点创建的 Deskop.ini 文件。X 文件夹的图标不会改变
  6. 运行上面的小 C 程序
  7. 原始文件夹图标显示在 X 文件夹上

查看SHChangeNotify功能以获取更多详细信息。