如何从 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 所述。
具体来说,您需要致电BeginUpdateResource
、UpdateResource
和EndUpdateResource
。
【讨论】:
【参考方案2】:看到这个。 http://www.angusj.com/resourcehacker/
这绝对不是通过 C# 实现的,但正如您所要求的,它最终是快速且良好的性能方式。
编辑All About Resource Hacker in a Brief Tutorial
【讨论】:
他想以编程方式进行。 是的,我需要从我的应用程序内部进行,有时我已经使用 res 黑客,也许如果 rh 是一个控制台应用程序,我可以将其集成到我的代码中,但我敢打赌这会有点慢。 【参考方案3】:您可以创建 exe 的快捷方式,而不是破解 .exe 中的资源(不是很友好),这样您就可以轻松地在快捷方式中使用自己的图标。有关如何使用ShellLink 类执行此操作的更多信息,请参阅here。
【讨论】:
这不是我需要的,如果我必须移动那些会一团糟的 exes+快捷方式。以上是关于如何从 C# 代码更改可执行图标? (不是我的应用程序图标)的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式更改 Windows 可执行文件和 Mac 应用程序的图标?