嗨,我是 shell 扩展的新手。我阅读了http://www.codeproject.com/KB/shell/overlayicon.aspx 文章,并且能够在名称包含字符串“sample”的文件上显示覆盖图标。现在我的问题是我有一个应用程序,它根据文件状态显示不同文件的不同覆盖,例如上传、上传、未上传等。请帮助我如何为特定路径中的特定文件/文件夹设置覆盖系统。谢谢
问问题
2513 次
1 回答
3
只需应用您在那篇文章中学到的知识。你现在想做的几乎是一样的。shell 调用你的处理程序并要求一个覆盖图标。您的代码检查项目的状态,并返回正确的覆盖图标。如果您不拥有该项目,则告诉外壳根本不要绘制覆盖层。
您可以在 MSDN 上阅读有关创建图标覆盖处理程序的更多信息。
或者,正如David 在此处建议和Richard 在此处建议的那样,如果您更愿意通过示例学习,您可以浏览 TortoiseSVN 源代码(因为它是在 GPL 下获得许可的)以了解他们是如何做到的。
但是请记住,shell 对可以注册的覆盖图标的数量施加了硬性限制。目前,这个数字是 15。如果您的应用程序尝试注册太多,或者如果您的用户安装了其他也注册了覆盖的应用程序(例如 TortoiseSVN),您将遇到问题。您可能需要认真重新考虑这是否真的是显示信息的适当方式。
于 2011-04-28T10:57:44.083 回答