我正在开发一个简单的应用程序,它应该只是复制另一个现有的可执行文件并更改它的图标。这有可能用.NET实现吗?我问的是图标更改,复制不是问题。
我没有关于如何以及从何处开始的线索。我在Google上搜索过,但发现只有我不太熟悉的非托管C ++代码。
此帖子与在运行时更改当前应用程序的图标无关,而是关于更改外部应用程序的图标(在Windows资源管理器中可见)。
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:7)
.NET不支持这一点。该图标存储在嵌入在.exe中的非托管资源中。您可以使用File + Open + File查看它们,选择.exe并打开Icons节点。编号最小的图标是Windows使用的图标。
更新这些资源通常需要重建.exe。幸运的是,Windows API支持即时更新资源。它有限制,但不应该影响你的图标。您将需要BeginUpdateResource,UpdateResource和EndUpdateResource。请注意,它们不易于使用,您需要知道图标资源编号。访问pinvoke.net获取您需要的声明。
答案 1 :(得分:-3)
要执行此操作,请尝试转到Project>您的应用属性。在“应用程序”选项卡上,将“图标”下拉框更改为您想要的任何图标。