根据状态叠加不同文件上的图标

时间:2011-04-28 10:47:07

标签: c++ windows icons windows-shell overlays

您好我是shell扩展的新手。 我看了http://www.codeproject.com/KB/shell/overlayicon.aspx  文章,并能够在名称包含字符串“sample”的文件上显示叠加图标。 现在我的问题是我有一个应用程序,根据文件状态显示不同文件的不同叠加,例如上传,上传,不上传等。 请帮助我如何为系统中特定路径中的特定文件/文件夹设置叠加。 感谢

1 个答案:

答案 0 :(得分:3)

只需应用您在该文章中学到的知识即可。你现在想做的几乎是一回事。 shell调用您的处理程序并请求叠加图标。您的代码会检查项目的状态,并返回正确的叠加图标。如果您不拥有该项目,则告诉shell不要绘制叠加层。

您可以在MSDN上阅读有关Creating Icon Overlay Handlers的更多信息。

或者,作为David suggests hereRichard suggests here,您可以浏览TortoiseSVN源代码(因为它是根据GPL许可的),看看他们是如何做到的,如果您更愿意通过示例学习。

但请记住,shell强制a hard limit on the number of overlay icons可以注册。目前,该数字为15.如果您的应用程序尝试注册太多,或者您的用户安装了其他应用程序(例如TortoiseSVN),并且还注册了叠加层,则会遇到问题。您可能需要认真重新考虑这是否真的是显示信息的适当方式。