我编写了一个shell扩展,它实现了IShellIconOverlayIdentifier
接口,以便在资源管理器中为图标添加叠加层。在32位WinXP机器上,一切运行良好。当我为64位Win7构建它时,叠加层只出现在资源管理器的侧边栏中,而不是其他地方。
奇怪的是,当我有IsMemberOf
函数输出传递给它的文件名时,我可以看到每个文件都从主资源管理器窗口和桌面传递给它,并且该函数返回一个值,指示应该存在叠加层。然而,没有任何表现。有没有人遇到过这样的事情?我不确定我是否遗漏了注册表中的内容或者是什么。
提前致谢!
答案 0 :(得分:1)
叠加图标的最大数量可能会限制在15以下。我知道有三个叠加保留用于系统使用。检查以下注册路径:
HKLM \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ ShellIconOverlayIdentifiers
我确定你会注意到叠加图标处理程序的放置位置。
答案 1 :(得分:0)
我似乎已经解决了这个问题。我知道系统有16个覆盖的硬限制,并且它位于11号位置,我已经读过它是覆盖窗口使用开始之上的限制,导致了这种奇怪的行为。