6
A
回答
0
是的,這是可能的,但不是特別容易。它基本上需要編寫一個資源編譯器(至少對於要修改的資源類型)。
例如,我曾經編寫過一個菜單編譯器,它在運行時將輸入從數據庫中取出(然後將結果保存回數據庫)。如果源表不變,則使用現有資源,否則將重建。
在菜單資源(我相信對話框)的情況下,棘手的問題是某些成員只能根據標誌設置以及嚴格的對齊要求而存在。
在修改.exe中已經存在的資源的情況下,您需要將資源數據複製到內存緩衝區中(如果要添加新元素,可使用額外的空間)(使用FindResource,LockResource,內存副本然後UnlockResource)。
做出更改後,使用其中一個間接創建函數(即CreateMenuIndirect)並傳遞緩衝區的地址。
資源API允許將這樣的緩衝區寫回應用程序二進制文件,但如果使用代碼簽名會破壞簽名,所以要非常小心。我也不知道該API是否適用於實際運行的程序。
相關問題
- 1. 在C#中修改資源?
- 2. C#修改資源文件
- 3. 在運行時去除/修改靜態Qt資源
- 4. 修改ObservableCollection <T>在運行時聲明爲資源
- 5. ASP.NET在運行時從.resx文件修改資源值
- 6. 在運行時更改資源
- 7. 在運行時修改Vtable
- 8. 在運行時修改
- 9. 在運行時修改propertyGrid
- 10. 在運行時修改persistence.xml
- 11. 在運行時修改persistence.xml
- 12. C#運行時更改WPF動態資源
- 13. 更改語言時修復資源
- 14. ASP.NET在運行時創建資源
- 15. Java Swing:在運行時添加資源
- 16. 在運行時訪問資源
- 17. 自定義資源在運行時
- 18. WPF - 編輯資源在運行時
- 19. 運行時修改strings.xml
- 20. PHP運行時類修改
- 21. 從資源創建新對象並修改資源會改變資源
- 22. 是有可能在運行時間從代碼改變資源
- 23. 如何改變資源字典顏色在運行時
- 24. Silverlight:在運行時更改靜態資源的屬性
- 25. 如何在運行時更改佈局資源文件夾?
- 26. 如何在運行時更改drawable資源?
- 27. 在運行時更改嵌入的資源文件
- 28. Qt:我們可以在運行時更改資源內容嗎?
- 29. 修改後運行開源php項目
- 30. 在運行時創建jrxml文件並在運行時修改
您的意思是Windows資源?這是平臺特定的,是嗎? – 2008-12-04 00:50:41