Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java将图标写入PE文件格式_Java_Windows_Icons_Portable Executable_Rsrc - Fatal编程技术网

用Java将图标写入PE文件格式

用Java将图标写入PE文件格式,java,windows,icons,portable-executable,rsrc,Java,Windows,Icons,Portable Executable,Rsrc,我正在使用Java为Windows PE文件编写一个读/写库(并最终希望将其作为开源发布)。目前,这是为了跨平台兼容性,允许我从Ant构建系统或命令行/终端等修改字符串/版本信息/图标/资源等 我遇到的问题是,我现在可以从源BMP文件将图标嵌入.rsrc部分,并让它显示它们,但不幸的是(即使数据正确),Windows资源管理器(以及CFF资源管理器/Visual Studio等)中的图标显示不正确。它在光栅数据中有一种模式,就好像某个图像是异或或或数字签名的 你知道我在添加这些数据时做错了什么吗

我正在使用Java为Windows PE文件编写一个读/写库(并最终希望将其作为开源发布)。目前,这是为了跨平台兼容性,允许我从Ant构建系统或命令行/终端等修改字符串/版本信息/图标/资源等

我遇到的问题是,我现在可以从源BMP文件将图标嵌入.rsrc部分,并让它显示它们,但不幸的是(即使数据正确),Windows资源管理器(以及CFF资源管理器/Visual Studio等)中的图标显示不正确。它在光栅数据中有一种模式,就好像某个图像是异或或或数字签名的

你知道我在添加这些数据时做错了什么吗

另一方面,我也有点困惑,为什么我需要修改BMP标题的高度部分,使其标记为实际大小的2倍

提前谢谢。
-蒂姆。

你能添加一个你有问题的代码吗?没有代码可添加,因为现在我只是使用十六进制编辑器以二进制方式将一个图标/bmp转储到另一个图标/bmp,结果是一样的。在试图找出问题所在的时候,好吧,结果是我的错。忘记修改/覆盖图标的“和”掩码。添加您的解决方案作为答案,以帮助将来解决类似问题