gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:12 27 4
gpt4 key购买 nike

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

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

我也知道如何设置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
  1. 创建一个文件夹X
  2. 将上面的 Desktop.ini 文件复制到文件夹中。 X文件夹的图标不会改变
  3. 运行上面的小C程序
  4. 新图标显示在X文件夹上
  5. 删除第2点创建的Deskop.ini文件,X文件夹图标不变
  6. 运行上面的小C程序
  7. 原文件夹图标显示在X文件夹上

检查 SHChangeNotify功能了解更多详情。

关于c++ - 如何在 Windows 中立即刷新文件夹图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45921769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com