[英]Made changes to desktop.ini with batch file but folder icons won't change
[英]Custom folder icons with desktop.ini & instant refreshing
我的任务是创建一个簿记程序,该程序跟踪何时读取文件和文件夹的一些统计信息。 与Google云端硬盘和TortoiseSVN相似,文件夹和文件图标应反映某些更改。 例如,带有未在特定计算机上查看过的文件的USB带有“ x”,而查看过的文件则带有“ o”。
我可以追踪文件的使用这个 Windows API的,和图标(以及其它的一些选项)可以通过的desktop.ini文件改变[ 1 , 2 , 3 , 4 ]。
在手动处理desktop.ini文件时,我成功地更改了图标,描述和其他有趣的东西。 问题在于,直到Windows再次解析desktop.ini文件,新更改才会更新。 这往往在几秒钟到几分钟之间不一致地发生。 F5刷新不会强制进行重新解析,但是如果发生重新解析,则会更新图像。
如何强制Windows手动和(更重要的是)在C ++程序中重新解析desktop.ini文件?
是否有其他C ++ Windows API可以立即更改文件夹图标?
如果您编辑desktop.ini,它的资源管理器将不会自动刷新。 使用SHGetSetFolderCustomSettings
进行写入:
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);
如果希望使用不同的文件夹图标来分别表示不同的状态(类似于SVN),则需要图标覆盖。 更改文件夹图标不是合适的解决方案。 文件夹图标的更改将立即反映出来。如果您需要更多详细信息,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.