Shell Icon扩展编程

时间:2011-11-04 04:08:54

标签: shell icons

在我的项目中,我需要为文件系统中的选定文件和文件夹实现图标覆盖。当您右键单击文件/文件夹并选择上下文菜单时,文件/文件夹的图标必须覆盖一个小图标

我是Windows shell编程的新手,没有足够的时间去做R& D

1 个答案:

答案 0 :(得分:0)

嗯,我知道现在回答你的问题已经很晚了,但这可能会给别人甚至是你提供一些暗示,如果你还想不出来的话。

通常,您需要在上下文菜单和图标叠加处理程序之间使用一些共享媒体/结构。

您可以使用map / hash包含需要在图标叠加处理程序中包含叠加图标的文件/文件夹的路径。处理程序在每次请求shell时搜索路径,并从IShellIconOverlayIdentifier :: IsMemberOf返回S_OK,否则返回S_FALSE。

现在,你需要找到一种通信方式,所以当你的上下文菜单命令被触发时,它应该将文件的/文件夹的路径发送到图标覆盖处理程序中的列表线程,其中线程在地图中插入路径处理程序用于确定是否在所请求的文件/文件夹上放置一个图标。

不要忘记在此共享地图上实施合适的锁定。

另一个问题是,如果在Windows重新启动后仍需要图标,您需要使地图保持不变,您可以定期将地图内容转储到磁盘文件,并在每次shell启动时重新填充它。