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

Posted

技术标签:

【中文标题】如何从 C# 代码更改可执行图标? (不是我的应用程序图标)【英文标题】:How to change executable icon from c# code? (not my app icon) 【发布时间】:2010-06-07 14:14:04 【问题描述】:

如何从 c# 代码更改 *.EXEs 图标(不是我的主应用程序图标,但我想从该应用程序更改另一个 exe 的图标)。

我最终不得不更改大量文件的图标,因此我正在寻找一种快速且性能良好的方法。

我已经在谷歌上搜索了 30 分钟,但我发现的只是如何在 VS 中设置应用程序的图标。

【问题讨论】:

奇怪的请求,某种“友好”的恶意软件? @Hans:虽然我看到过这样做的恶意软件,但也有合法用途。实际上,我自己很快就会这样做,以制作带有可自定义图标的可执行配置文件(可以通过搜索路径列表找到实际的应用程序)。 不,它不是一个友好的恶意软件,它非常糟糕。 jk 【参考方案1】:

您需要致电Resources API methods,如here 所述。

具体来说,您需要致电BeginUpdateResourceUpdateResourceEndUpdateResource

【讨论】:

【参考方案2】:

看到这个。 http://www.angusj.com/resourcehacker/

这绝对不是通过 C# 实现的,但正如您所要求的,它最终是快速且良好的性能方式。

编辑All About Resource Hacker in a Brief Tutorial

【讨论】:

他想以编程方式进行。 是的,我需要从我的应用程序内部进行,有时我已经使用 res 黑客,也许如果 rh 是一个控制台应用程序,我可以将其集成到我的代码中,但我敢打赌这会有点慢。 【参考方案3】:

您可以创建 exe 的快捷方式,而不是破解 .exe 中的资源(不是很友好),这样您就可以轻松地在快捷方式中使用自己的图标。有关如何使用ShellLink 类执行此操作的更多信息,请参阅here。

【讨论】:

这不是我需要的,如果我必须移动那些会一团糟的 exes+快捷方式。

以上是关于如何从 C# 代码更改可执行图标? (不是我的应用程序图标)的主要内容,如果未能解决你的问题,请参考以下文章

从外部更改应用程序字符串c#

如何以编程方式更改 Windows 可执行文件和 Mac 应用程序的图标?

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

Android:OneSignal如何使用自定义图标或应用图标更改通知帐单图标?

如何将文件扩展名关联到 C# 中的当前可执行文件

在 C# 中更改文件图标