我正在开发一个简单的应用程序,它只需复制另一个现有的可执行文件并更改其图标。这是否可以通过.NET实现?我想问的是更改图标,复制不是问题。
我不知道从哪里开始。我在Google上搜索了一下,但只找到了我不太熟悉的非托管C++代码。
这篇文章与在运行时更改当前应用程序的图标无关,而是关于更改外部应用程序的图标(在Windows资源管理器中可见)。
任何帮助都将不胜感激。
谢谢。
.NET不支持这种操作。图标存储在.exe文件中未管理的资源中。您可以通过文件+打开+文件打开.exe文件并打开图标节点来查看它们。编号最低的图标是Windows使用的图标。
更新这些资源通常需要重建.exe文件。幸运的是,Windows API支持在运行时更新资源。虽然它有一些限制,但对于图标没有影响。您将需要BeginUpdateResource、UpdateResource和EndUpdateResource。请注意,它们不容易使用,您需要知道图标资源号。您可以访问pinvoke.net以获取所需的声明。