6
A
回答
0
是的,这是可能的,但不是特别容易。它基本上需要编写一个资源编译器(至少对于要修改的资源类型)。
例如,我曾经编写过一个菜单编译器,它在运行时将输入从数据库中取出(然后将结果保存回数据库)。如果源表不变,则使用现有资源,否则将重建。
在菜单资源(我相信对话框)的情况下,棘手的问题是某些成员只能根据标志设置以及严格的对齐要求而存在。
在修改.exe中已经存在的资源的情况下,您需要将资源数据复制到内存缓冲区中(如果要添加新元素,可使用额外的空间)(使用FindResource,LockResource,内存副本然后UnlockResource)。
做出更改后,使用其中一个间接创建函数(即CreateMenuIndirect)并传递缓冲区的地址。
资源API允许将这样的缓冲区写回应用程序二进制文件,但如果使用代码签名会破坏签名,所以要非常小心。我也不知道该API是否适用于实际运行的程序。
相关问题
- 1. 在C#中修改资源?
- 2. C#修改资源文件
- 3. 在运行时去除/修改静态Qt资源
- 4. ASP.NET在运行时从.resx文件修改资源值
- 5. 修改ObservableCollection <T>在运行时声明为资源
- 6. 在运行时修改persistence.xml
- 7. 在运行时修改propertyGrid
- 8. C#运行时更改WPF动态资源
- 9. 自定义资源在运行时
- 10. WPF - 编辑资源在运行时
- 11. 在运行时访问资源
- 12. PHP运行时类修改
- 13. 运行时修改strings.xml
- 14. 如何在运行时更改drawable资源?
- 15. Qt:我们可以在运行时更改资源内容吗?
- 16. 是有可能在运行时间从代码改变资源
- 17. Silverlight:在运行时更改静态资源的属性
- 18. 在VisualState中修改Silverlight资源
- 19. 修改后运行开源php项目
- 20. 在运行时创建jrxml文件并在运行时修改
- 21. C#:在运行时更新嵌入资源文件
- 22. 在运行时修改程序集?
- 23. 在运行时修改Datepicker翻译
- 24. 在运行时修改JVM参数
- 25. 在Django运行时修改urlpatterns
- 26. 在运行时修改向量
- 27. 修改的ListView的ItemTemplate在运行时
- 28. 在运行时修改TableAdapter命令
- 29. 在运行时修改导轨模型
- 30. 在运行时创建/修改枚举
您的意思是Windows资源?这是平台特定的,是吗? – 2008-12-04 00:50:41