更改desktop.ini时,如何立即重新加载文件夹图标

时间:2011-06-24 06:15:46

标签: windows windows-shell desktop.ini

我正在尝试使用更改该文件夹上的desktop.ini以编程方式更改文件夹图标。我可以设置一个图标,但不能通过更改“IconIndex”立即更改它。该图标也会在几秒钟后更改。

有人知道如何立即更改图标吗?

3 个答案:

答案 0 :(得分:1)

我之前已通过回答我的问题回答了问题。为了更方便,我会再次写一个答案。

如果要使用Desktop.ini在任何文件夹的外观上进行任何更改,请使用一些win32 shell函数。您不应该尝试直接编辑Desktop.ini。它不会在任何文件夹的外观上做任何改变。

您可以通过以下链接获取有关win32 shell功能的更多信息。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb776426(v=vs.85).aspx

答案 1 :(得分:1)

示例:

SHFOLDERCUSTOMSETTINGS fcs = {0};
fcs.dwSize = sizeof(SHFOLDERCUSTOMSETTINGS);
fcs.dwMask = FCSM_ICONFILE;
fcs.pszIconFile = iconPath;
fcs.cchIconFile = 0;
fcs.iIconIndex = iconIndex;
SHGetSetFolderCustomSettings(&fcs, folderPath, FCS_FORCEWRITE);

答案 2 :(得分:0)

以下过程适用于我(在Windows 7上):

  1. 更改desktop.ini文件
  2. 问题SHChangeNotify(SHCNE_DELETE,SHCNF_PATH,“path_to / desktop.ini”,0);
  3. 将刷新文件夹ico
  4. 请记住包含Shlobj.h