gpt4 book ai didi

c - 如何将资源从一个可执行文件复制到另一个可执行文件

转载 作者:行者123 更新时间:2023-11-30 15:59:04 27 4
gpt4 key购买 nike

好吧,我的问题有点奇怪。但我们开始了。

我正在尝试开发一个可执行文件“包装器”和一个控制台程序。控制台程序的任务是将图标和版本信息从另一个exe文件复制到包装文件中,以便包装文件和exe文件看起来完全相同。除此之外,exe 文件会附加到包装文件的末尾。这样,当执行包装器时,它可以提取并执行附加的 exe 文件。

我的问题是如何创建包装文件以便容纳其他 exe 文件中的图标和版本信息?我的意思是我的资源文件应该是什么样的?

接下来是如何复制图标和版本信息。我搜索并找到了一些代码和MSDN指令,但他们都使用FindResource、LoadResource等。但是按照这种方法,我丢失了包装文件的原始内容。我的文件大小从原来的 67kb 减少到 14kb,当我在记事本中打开时,我看到很多内容都消失了......

使用 SHGetFileInfo() 可以做任何事情吗?这可用于从 exe 文件中获取 HICON。但是我如何使用这个HICON来替换包装文件中的图标资源??

最佳答案

previous question 中的基本方法是正确的。您绝对不想乱搞 SHGetFileInfo 和 HICON。资源类型并不重要。

你的包装器应该在没有资源的情况下开始。例如,这可以确保您添加的任何图标都将编号为第一个和最低编号,从而保证用作应用程序图标。

要了解代码发生的情况,请使用可以查看生成的 exe 中的资源的工具。 Visual C++ Express 无法做到这一点,但付费版本可以。或者,谷歌提供了一堆免费实用程序来执行此操作。 Here's one,不知道好不好用该页面还包含一些其他工具的链接。

关于c - 如何将资源从一个可执行文件复制到另一个可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com