看起来SHGetSetFolderCustomSettings允许您设置图标、工具提示、Web 视图模板和其他内容,但我找不到如何LocalizedResourceName
在关联中进行设置desktop.ini
(请参阅SHFOLDERCUSTOMSETTINGS 结构)。
因此,我目前正在desktop.ini
直接写信给它,但这有一个警告:即使您告诉资源管理器使用F5or刷新,它也不会正确更新其视图Ctrl+R。
这就是我想使用 Python编写的内容(尽管非 Python 代码应该不成问题):
[.ShellClassInfo]
LocalizedResourceName=My Folder Name
InfoTip=A customized folder
任何想法如何设置文件夹名称并让资源管理器正确更新它?
我试过用SHChangeNotify(SHCNE_ALLEVENTS, SHCNF_PATH, path, path)
,但这似乎并没有更新显示名称(也用SHCNE_RENAMEFOLDER
, SHCNE_RENAMEITEM
, SHCNE_UPDATEDIR
, SHCNE_UPDATEITEM
)。
(最糟糕的方法可能是编辑desktop.ini
两次......一次直接,然后使用那个API函数......而不是我想要的)。
关于原因(我猜你们中至少有人会问):
我使用 GUID 作为文件夹名称来存储项目数据。
然而,用户应该会看到一个友好的名称,该名称也可用于排序(甚至可以在不影响内部名称的情况下对其进行编辑)。此外,低级文件系统布局应该向后兼容旧版本的软件。