C# 如何更改特定类型的单个文件的图标?

C# 如何更改特定类型的单个文件的图标?,c#,windows,shell,file,icons,C#,Windows,Shell,File,Icons,我知道如何使用注册表和文件类型关联更改整个文件类型的图标。 我还知道如何使用desktop.ini文件更改单独文件夹的图标 我的问题是,是否可以更改一个特定文件的图标,比如一个.doc文件 我找不到一种方法,但有些上传程序似乎能够更改当前上传文件的图标,而所有其他此类文件都保留标准图标。他们是怎么做到的 我可以接受任何语言的解决方案;VC++、C++、C—任何东西都可以,不过C是最好的。 谢谢您可以使用来允许逐个文件自定义图标。请注意,C++是这里的首选语言。 还请注意,为另一个应用程序的文件类

我知道如何使用注册表和文件类型关联更改整个文件类型的图标。 我还知道如何使用desktop.ini文件更改单独文件夹的图标

我的问题是,是否可以更改一个特定文件的图标,比如一个.doc文件

我找不到一种方法,但有些上传程序似乎能够更改当前上传文件的图标,而所有其他此类文件都保留标准图标。他们是怎么做到的

我可以接受任何语言的解决方案;VC++、C++、C—任何东西都可以,不过C是最好的。 谢谢

您可以使用来允许逐个文件自定义图标。请注意,C++是这里的首选语言。
还请注意,为另一个应用程序的文件类型安装图标处理程序是非常不寻常的。

我意识到这个线程非常旧。但是对于编码经验较少的用户来说,下面是一个不错的选择

  • 把你的目标文件放在某个地方
  • 创建该文件的快捷方式项
  • 现在,您可以使用快捷方式的属性窗口更改其图标

  • 这只是另一个解决办法。更多的解决方法。

    您只想将其从一个文档上的默认图标更改?您使用的是mac还是windows?我假设windows…我觉得我不完全理解这个问题。。。你想在C#中完成它,但为什么不直接从windows中更改它呢@Charlie-因为如果你从Windows中更改图标,它将更改整个类型的图标,而我想对该类型的一个特定文件(比如一个Word文档)执行此操作。创建快捷方式不是解决方案,因为我想更改原始文件的图标。您可能误解了“上载程序”的功能。他们通常在上传时使用不同的文件扩展名。完成后重命名它。图标会自动改变,这是一个副作用。事实上,我正在寻找一种方法来改变一个原始图标,比如说乌龟。我已经想出了图标覆盖处理程序应该用于此,但你的帖子把我转到了另一个方向。一个人最多只能同时拥有14个图标覆盖处理程序,而图标处理程序的数量似乎是无限的,所以这可能是一个更好的选择。谢谢。但是,每个文件类型只能有一个图标处理程序,因此安装图标处理程序实际上应该只由文件类型的所有者完成。否则,您会遇到“如果两个人做了这件事怎么办?”的问题。您所说的问题是如何以编程方式实现这一点,因为例如使用mklink创建的链接不会像右键单击创建的链接那样可自定义。