如何修改(但不能替换)与文件扩展名相关联的图标?

时间:2011-12-15 18:25:00

标签: .net wpf windows icons user-experience

我正在为Windows开发WPF桌面应用程序。它使用自己的文件类型,比方说.foo。此文件类型表示已由应用程序修改的文件。例如,它最初是.txt,但现在它是.txt.foo(或者我可以使用.txtfoo)。

我想在原始图标的顶部显示一个小应用徽标,类似于源控制系统所做的(例如在原始图标上显示一个小锁)。

我不想制作全新的图标,因为我不想让用户感到困惑,我希望他们在使用应用程序之前看到他们已经知道的图标。所以我只想在当前图标的顶部添加小徽标,不管它目前是什么。

这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

如果您使用的是自定义文件类型,则必须为要重命名的每个文件都设置修改后的图标。如果没有太多的文件类型,你的.txtfoo而不是.txt.foo将是一个解决方案,当安装程序运行时,你可以在注册表中注册新的文件类型,只需安装修改后的图标。但是,如果它们中有很多,这就成了问题。关于代码项目的Get Registered File Types and Their Associated Icons in C#文章和C#: Set File Type Association可能对您尝试做的某些内容有所帮助。

否则,听起来你正在寻找一个图标叠加处理程序。这种方法意味着您需要使用一组小图标叠加来表示基础.foo图标上的原始类型。有关详细信息,请参阅MSDN上的Creating Icon Overlay Handlers文章。