【发布时间】:2014-11-28 14:38:08
【问题描述】:
看起来SHGetSetFolderCustomSettings 允许您设置图标、工具提示、Web 视图模板等,但我找不到如何在关联的desktop.ini 中设置LocalizedResourceName(请参阅SHFOLDERCUSTOMSETTINGS structure)。
因此,我目前正在直接写信给desktop.ini,但这有一个警告:
即使您告诉它使用 F5 或 Ctrl+R 刷新,Explorer 也不会正确更新其视图。
这就是我想写的,使用 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 作为文件夹名称来存储项目数据。
但是,用户应该会看到一个友好的名称,该名称也可用于排序(甚至可以在不影响内部名称的情况下对其进行编辑)。 此外,低级文件系统布局应该向后兼容旧版本的软件。
【问题讨论】:
标签: windows python-3.x explorer desktop-integration