Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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
C# Win32资源编辑器库?_C#_C++_C_Winapi_Resources - Fatal编程技术网

C# Win32资源编辑器库?

C# Win32资源编辑器库?,c#,c++,c,winapi,resources,C#,C++,C,Winapi,Resources,有没有免费的库可以为Win32 PE文件中的资源提供编辑功能 它需要能够执行以下操作: 提供一个合理简单的API来更改对话框资源(包括“扩展”对话框版本)。 手工编辑带有UpdateResource的对话框是后面的一大难题,因为大多数结构的字段都是可变长度的,编码/解码它们非常容易出错,编码也非常耗时 同时处理32位和64位PE文件 支持广泛使用的资源类型(字符串表、位图等) 能够处理任何类型的有效资源(即使它没有被广泛使用),即使这意味着只提供一个简单的二进制文件的拷贝 我不关心.res文件

有没有免费的库可以为Win32 PE文件中的资源提供编辑功能

它需要能够执行以下操作:

  • 提供一个合理简单的API来更改对话框资源(包括“扩展”对话框版本)。
    手工编辑带有
    UpdateResource
    的对话框是后面的一大难题,因为大多数结构的字段都是可变长度的,编码/解码它们非常容易出错,编码也非常耗时

  • 同时处理32位和64位PE文件

  • 支持广泛使用的资源类型(字符串表、位图等)

  • 能够处理任何类型的有效资源(即使它没有被广泛使用),即使这意味着只提供一个简单的二进制文件的拷贝

  • 我不关心.res文件,也不需要.rc功能。我只需要体育编辑


C、C++、C都是好的,虽然我更喜欢C,因为它更容易用代码来编码。我主要关心的是32位和64位PE文件的对话框编辑,所以这是最重要的因素。

它只适用于32位,但可能是一个很好的替代品,除非你找到更好的方法。

我还没有机会测试它,但我发现这似乎很有能力。

我花了数百甚至数千个小时来解码资源和PE格式的所有细节,以便创建(当时还不存在这样的格式)。现在,如果有这样一个图书馆存在的话,我就可以从桥上跳下来:-D@Serge:哦,该死——我应该删除我的问题,我不想让它以某人的生命为代价,哈哈。把这些图书馆的稀疏性作为一个强烈的暗示,它没有那么有用。首先,当文件加载到进程中时,无法编辑资源,内存映射文件会对其进行强锁定。其次是当发现UpdateResource非常有限时的失望。最后,每个人都有一个已经支持编辑资源的IDE。即使在PE32文件中,File+Open+File-in VS.Hope-Serge也不会读到这些。@Hans:我完全知道这些。就我而言,这是完全值得的:appTranslator卖得不错,用户通常都喜欢它,谢谢;-)@汉斯:哈哈。VS(或资源黑客或其他什么)的问题是它对批处理操作没有用处。通常情况下,我需要对某些资源进行更改(例如,全局查找/替换、全局搜索特定大小的图像),而我无法做到这一点。至少,它需要输出和重新输入资源,并祈祷没有任何事情弄糟。我没有用VS尝试过,但用Resource Hacker它肯定不能扩展。除非您碰巧知道在VS中使用宏的方法,否则我找不到VS在这方面有用的方法\