社区
C++ 语言
帖子详情
获取其它程序exe/dll中的资源字符串.
gdami
2008-06-18 12:03:24
我们需要用C++编程获取native和managed 执行文件中的资源字符串, 主要是测试用。
我们已知能用loadresource等API获取native文件中的资源。 .Net中能用ResourceManager获取managed文件中的资源。
但现在有个问题,能不能用C++实现用API获取managed文件中的资源字符串? 或者是否能用读取Managed文件结构的方式读取出资源字符串来?
...全文
254
7
打赏
收藏
获取其它程序exe/dll中的资源字符串.
我们需要用C++编程获取native和managed 执行文件中的资源字符串, 主要是测试用。 我们已知能用loadresource等API获取native文件中的资源。 .Net中能用ResourceManager获取managed文件中的资源。 但现在有个问题,能不能用C++实现用API获取managed文件中的资源字符串? 或者是否能用读取Managed文件结构的方式读取出资源字符串来?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gdami
2008-06-23
打赏
举报
回复
没人有建议了? 没找到答案阿。
gdami
2008-06-18
打赏
举报
回复
那请问有啥建议没?
.Net文件结构刚找到一篇文章 http://www.codeproject.com/KB/dotnet/dotnetformat.aspx。 不过只是.net 2.0的。 现在都有.net1.1,2.0,3.0,3.5了,微软更新也忒快,如果按文件结构也有的搞的。
珍惜生命远离CPP
2008-06-18
打赏
举报
回复
[Quote=引用 2 楼 gdami 的回复:]
如果有必要,还是API比较方便,用文件结构太复杂了,怕有稳定性问题。.Net1.1和.Net2.0,3.0的文件结构也不知道有变化没,也没可参考的例子。
咱也不知道用C++怎么模拟.Net中ResourceManager类和反射等东东。
[/Quote]
1.1 2.0 3.0编译出来的程序互不兼容。所以说很有可能文件结构上变化了。
至于中ResourceManager类和反射等东东,这个工作量不小,要使能搞定,在加点时间说不定.net虚拟机都搞出来了。
gdami
2008-06-18
打赏
举报
回复
如果有必要,还是API比较方便,用文件结构太复杂了,怕有稳定性问题。.Net1.1和.Net2.0,3.0的文件结构也不知道有变化没,也没可参考的例子。
咱也不知道用C++怎么模拟.Net中ResourceManager类和反射等东东。
珍惜生命远离CPP
2008-06-18
打赏
举报
回复
答案是可以的,但你需要知道managed文件的格式信息。
gdami
2008-06-18
打赏
举报
回复
这个就是用类似LoadResource的API获取Native执行文件的,不能获取Managed的。 我现在需要知道有用API获取Managed执行文件内的资源字符串的方法,已经查了很久了,没找到方法。
chenyu2202863
2008-06-18
打赏
举报
回复
我这里有个获取图标的,借鉴下吧
EnumProcesses 得到所有进程ID,然后循环
OpenProcess 打开进程
GetModuleFileName 获取EXE文件路径
LoadLibrary 载入EXE文件
EnumResourceNames 查出第1个图标名称(需要一个回调函数)
LoadIcon 载如图标 Add图标到CImageList
InsertItem 添加项目到CListCtrl
FreeLibrary 释放EXE文件
CloseHandle 关闭进程
继续循环
dll
中
函数调用
dll
中
的
资源
文件
"这是
DLL
中
的一个
字符串
资源
" } ``` 位图
资源
则可能类似这样: ``` IDB_MYBITMAP BMP "myimage.bmp" ``` 在编译项目时,编译器会将
资源
文件转换为二进制
资源
数据,并将其嵌入到
DLL
的可执行文件
中
。 接下来,...
用
DLL
实现多语言支持.doc
这样,每次启动应用
程序
时,它会从
资源
中
加载相应的
字符串
,从而实现多语言支持。 接下来,我们将创建一个
DLL
工程,用于存储不同的语言
资源
。选择File->Add->New Project,然后选择Win32 Project,命名为Lang
DLL
。...
更新
DLL
及
exe
的
字符串
信息函数
在Windows操作系统
中
,
DLL
(动态链接库)和
EXE
(可执行文件)是两种常见的
程序
模块,它们都可能包含各种
字符串
资源
,如错误消息、帮助文本等。这些
字符串
信息存储在
资源
表
中
,通常称为StringTable。当需要更新或修改...
二进制
DLL
(或
EXE
)
中
读取
资源
ResFile.zip_
dll
_
dll
读取_
exe
通过分析和实践这些步骤,开发者可以灵活地在自己的
程序
中
读取和利用
DLL
或
EXE
中
的
资源
。这种技术在各种场景下都很有用,例如更新应用
程序
的非代码数据,或者在运行时动态加载图形和语言
资源
。在提供的源代码
中
,...
用VC纯
资源
DLL
制作多语言界面
程序
为了在
程序
中
动态切换语言,你需要提供一个接口函数,这个函数负责根据用户的选择加载不同的
DLL
资源
。在VC++
中
,可以使用LoadLibrary和GetProcAddress函数来动态加载和调用
DLL
中
的函数。当用户选择新的语言时,
程序
...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章