脚本如何在文件图标上添加小图标覆盖

脚本如何在文件图标上添加小图标覆盖

就像 Dropbox 一样,我想使用图标覆盖显示文件是否已备份。如何做到这一点,无需人工干预,并且针对特定计算机,这样就不必分发。

这个问题仅涉及如何添加/更改这个图标小覆盖,而不是如何检查文件是否已备份。

我目前的目标是 Windows 7。

答案1

如果你看一下参考资料图标和图标叠加层或者更具体地说如何创建图标处理程序如何实现图标覆盖处理程序您将看到您需要实现一个 DLL/COM 组件。

所述 DLL 需要实现某些接口(IUnknownIShellIconOverlayIdentifier我所知),并将在显示图标时由 Windows 资源管理器进程调用。为此,您需要在注册表中创建一个条目。由于您可能希望该覆盖层显示所有类型的文件,因此您可能需要注册一般文件类型。

稍后GetOverlayInfo将会调用来注册您的图标并IsMemberOf指示您是否希望显示覆盖层。

至于识别文件或存储有关文件的信息,您可以使用备用数据流但这意味着它只能/主要适用于 NTFS,而且正如你所说,这并不是你的问题的一部分。

如果你看看在 DropBox 的帮助文章中,您会看到注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers对于决定要显示哪些图标也很重要。

相关内容