获取其它程序exe/dll中的资源字符串.

gdami 2008-06-18 12:03:24
我们需要用C++编程获取native和managed 执行文件中的资源字符串, 主要是测试用。
我们已知能用loadresource等API获取native文件中的资源。 .Net中能用ResourceManager获取managed文件中的资源。
但现在有个问题,能不能用C++实现用API获取managed文件中的资源字符串? 或者是否能用读取Managed文件结构的方式读取出资源字符串来?
...全文
254 7 打赏 收藏 转发到动态 举报
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了,微软更新也忒快,如果按文件结构也有的搞的。
  • 打赏
  • 举报
回复
[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类和反射等东东。
  • 打赏
  • 举报
回复
答案是可以的,但你需要知道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 关闭进程
继续循环

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧