就像 Dropbox 一样,我想使用图标覆盖显示文件是否已备份。如何做到这一点,无需人工干预,并且针对特定计算机,这样就不必分发。
这个问题仅涉及如何添加/更改这个图标小覆盖,而不是如何检查文件是否已备份。
我目前的目标是 Windows 7。
答案1
如果你看一下参考资料图标和图标叠加层或者更具体地说如何创建图标处理程序和如何实现图标覆盖处理程序您将看到您需要实现一个 DLL/COM 组件。
所述 DLL 需要实现某些接口(IUnknown
据IShellIconOverlayIdentifier
我所知),并将在显示图标时由 Windows 资源管理器进程调用。为此,您需要在注册表中创建一个条目。由于您可能希望该覆盖层显示所有类型的文件,因此您可能需要注册一般文件类型。
稍后GetOverlayInfo
将会调用来注册您的图标并IsMemberOf
指示您是否希望显示覆盖层。
至于识别文件或存储有关文件的信息,您可以使用备用数据流但这意味着它只能/主要适用于 NTFS,而且正如你所说,这并不是你的问题的一部分。
如果你看看这在 DropBox 的帮助文章中,您会看到注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
对于决定要显示哪些图标也很重要。