我现在正在编写一个小工具,需要即时刷新文件夹图标。
我们知道,在 Windows 中,我们可以通过以下步骤手动修改文件夹图标:
- 右键单击文件夹
- 选择“自定义”标签
- 点击“更改图标”
我也知道如何设置desktop.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 位):
Desktop.ini 文件
[.ShellClassInfo]
IconResource=C:\Windows\System32\SHELL32.dll,12
- 创建一个文件夹X
- 将上面的 Desktop.ini 文件复制到文件夹中。 X文件夹的图标不会改变
- 运行上面的小C程序
- 新图标显示在X文件夹上
- 删除第2点创建的Deskop.ini文件,X文件夹图标不变
- 运行上面的小C程序
- 原文件夹图标显示在X文件夹上
检查 SHChangeNotify
功能了解更多详情。
我是一名优秀的程序员,十分优秀!