在 C# 中更改文件图标

Posted

技术标签:

【中文标题】在 C# 中更改文件图标【英文标题】:Change File Icons in C# 【发布时间】:2012-02-15 11:25:33 【问题描述】:

您能建议一些更改 C# 中文件图标的方法吗?我的意思是 C# 是否有任何类可以用来更改文件的图标。例如,我可以用c#中的doc文件图标替换记事本文件图标吗?

我知道我们可以提取文件的图标,但我正在寻找将新图标应用到文件。

让我试着详细解释一下。我正在开发一个处理文件的 Windows 应用程序。此应用程序创建一个特殊文件夹,用户可以在此文件夹中创建文件和文件夹。现在,当用户创建文件时,我想应用自定义图标,将其显示为正在处理中。处理完成后,文件图标将变为处理完成。我希望这现在有意义。

谢谢

【问题讨论】:

为什么这个问题是-1? 我想“这个问题没有显示任何研究工作”。你自己试过什么?你有任何代码有问题吗?您是否了解 Windows 为每个文件类型设置图标,而不是在可执行文件除外的文件中设置图标,其中图标嵌入在二进制文件中? 文件没有图标,应用程序有。 完全重复:***.com/questions/2990242/… @Steen - 我从过去 15 天开始一​​直在努力。不完全是这样,而是像这样。这基本上不是正确的方法。这是实际问题的替代方案。正确的方法是类似于 SVN。但我太愚蠢了,我无法让它工作。我在时间限制下运行。所以我暂时只是在实施这种方法。 【参考方案1】:

您必须为此编写自定义 shell 扩展。这被称为“图标覆盖处理程序”。这与 TortoiseSVN 等应用程序在资源管理器中添加图标的方式相同。

看到这个MSDN article和this code example

【讨论】:

这是我开始研发时才知道的。我也有非托管和托管的 DLL。但我无法使用它。我确实在 Web 应用程序中工作。这是我第一次在 Windows 应用程序中工作。 请发布有关如何使用此代码的信息。我从过去两周开始进行研发,所以我搜索了几乎所有显示 ICON OVERLAY 的链接。

以上是关于在 C# 中更改文件图标的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C# 代码更改可执行图标? (不是我的应用程序图标)

如何在不使用 IDE 的情况下更改 C# 程序的图标?

C# Winforms - 更改鼠标的光标图标

C语言中,如何更改.EXE文件的图标

如何更改任意exe图标?

如何识别 C# 应用程序中使用的图标文件的名称?