首先,这不是从Java类中制作EXE的常见问题的重复。我不需要那样做。从独立于开源平台的Java代码替换Windows * .exe中的图标
解决的NetBeans RFE #64612没有manual steps我需要一个Java(6+)库,它可以采取现有的Windows *.exe
文件,并与通用格式的替代品代替它的图标。可执行文件是通用的和预编译的(以二进制形式分发),它已经知道如何加载特定于应用程序的配置文件,然后用各种应用程序JAR等启动JRE;唯一的问题是它有一个通用图标,我想用一个特定于应用程序的图标替换该图标作为纯Java版本的一部分,因此看起来更漂亮。
该库必须以非病毒开源许可证提供;跨平台(必须在Windows,Linux,Mac,Solaris上运行),因此无法分离某些操作系统特定的辅助工具;并且必须接受PNG输入,尽管EXE必须在XP上工作,所以according to Wikipedia应该嵌入BMP格式。在较高的水平,假设Ant作为构建工具,我想是这样的:
<replaceicon from="app.exe" to="hello.exe" icon="hello.png"/>
有谁知道是否已经符合这些规范的工具存在?从各种网络搜索我发现Launch4J,但这似乎只是分叉windres为真正的工作,因此不便携。我发现JSmooth看起来更有希望 - 似乎包括处理ICO编解码器和处理PE文件的Java代码 - 但它是GPL。 WinRun4J看起来使用本机代码进行图标处理,但我很难跟踪其源代码。 Jimi据说处理ICO格式(就此而言,标准javax.imageio
似乎也是如此),但我想没有更新PE资源的功能。
相关问题:http://stackoverflow.com/questions/1614772/how-to-change-jframe-icon – 2011-12-28 17:52:43
链接的问题指向http://java.net/projects/pe-file-reader,但这是GPL并且似乎只读取,而不是写入PE文件。 – 2012-07-10 18:34:59