如何在 Windows 中立即刷新文件夹图标
How to refresh the folder icon instantly in Windows
我现在正在编写一个小工具,需要立即刷新文件夹图标。
众所周知,在Windows中,我们可以通过以下步骤手动修改文件夹图标:
- 右键单击文件夹
- 选择"自定义"标签
- 点击"更改图标">
我还知道如何设置桌面.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
- 创建文件夹 X
- 将上面的桌面.ini文件复制到文件夹中。X 文件夹的图标不会改变
- 运行上面的小 C 程序
- 新图标显示在 X 文件夹上
- 删除在第 2 点创建的 Deskop.ini 文件。X 文件夹的图标不会改变
- 运行上面的小 C 程序
- 原始文件夹图标显示在 X 文件夹上
查看SHChangeNotify
功能以获取更多详细信息。
相关文章:
- 如何将更多文件夹添加到c++include路径
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 如何在文档文件夹中创建目录
- "assimp/config.h"找不到,但它在文件夹中
- C++入门 5 版:类消息和文件夹
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 如何按文件扩展名引用文件夹中的文件
- 在QTreeView中仅显示共享驱动器和文件夹
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 介子复制/安装头文件到输出目录并保持文件夹结构
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 在文件夹迭代上实现 RAII
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- 使文件夹中的所有文件可供所有项目(子目录)访问
- 无法使用 CMake 从其他文件夹添加源文件
- 如何在 Windows 中立即刷新文件夹图标
- 如何用刷新内容替换现有文件到资产文件夹中
- 具有桌面.ini和即时刷新功能的自定义文件夹图标