关于rc的问题

s446721902 2010-03-03 07:31:06
vc中资源经过编译,转化成2进制添加到exe,dll等中,像reshacker能把资源读取出来,还可以实现重新返回rc文件,这个如何实现,我现在已经能够找到exe的资源模块了,如何把对话框从二进制转化为文本如
102 DIALOGEX 0, 0, 178, 300
STYLE WS_POPUP | WS_VISIBLE | WS_BORDER
EXSTYLE WS_EX_APPWINDOW
CAPTION ""
LANGUAGE LANG_CHINESE, 0x2
...全文
159 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
s446721902 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 an_bachelor 的回复:]
http://www.codeproject.com/KB/cpp/UpdateResource.aspx
http://msdn.microsoft.com/en-us/library/ms648008(VS.85).aspx
[/Quote]
thank you
an_bachelor 2010-03-11
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/cpp/UpdateResource.aspx
http://msdn.microsoft.com/en-us/library/ms648008(VS.85).aspx
s446721902 2010-03-09
  • 打赏
  • 举报
回复
引用 11 楼 jameshooo 的回复:
1、先去了解对话框模板的结构 DLGTEMPLATE[EX]/DLGITEMTEMPLATE[EX]
2、读出对话框模板资源到结构中
3、直接修改结构,比如宽度
4、把结构重新保存到资源 BeginResource/UpdateResource/EndResource


对话框结构DLGTEMPLATEEX/里的
sz_Or_Ord menu; // name or ordinal of a menu resource
sz_Or_Ord windowClass; // name or ordinal of a window class
WCHAR title[titleLen]; // title string of the dialog box
short pointsize; // only if DS_SETFONT flag is set
short weight; // only if DS_SETFONT flag is set
short bItalic; // only if DS_SETFONT flag is set
WCHAR font[fontLen]; // typeface name, if DS_SETFONT is set
这些东西都无法读取到,我是定义LPDLGTEMPLATEEX指针,然后把资源区块复制过来的。
LPDLGTEMPLATEEX lpDlgEX;
但是lpDlgEx->weight就说我的'weight' : is not a member of 'DLGTEMPLATEEX',当然此时对话框是具有DS_SETFONT属性的
但是exe用二进制打开都能看到的,不知道怎么处理
jameshooo 2010-03-04
  • 打赏
  • 举报
回复
1、先去了解对话框模板的结构 DLGTEMPLATE[EX]/DLGITEMTEMPLATE[EX]
2、读出对话框模板资源到结构中
3、直接修改结构,比如宽度
4、把结构重新保存到资源 BeginResource/UpdateResource/EndResource
s446721902 2010-03-04
  • 打赏
  • 举报
回复
引用 9 楼 visualeleven 的回复:
直接改。。。。。。。。。。。。

比如要修改对话框宽度,直接在二进制里改吗?
Eleven 2010-03-04
  • 打赏
  • 举报
回复
直接改。。。。。。。。。。。。
s446721902 2010-03-04
  • 打赏
  • 举报
回复
手动置顶,寻求帮助 回复内容太短了!
rayyear 2010-03-04
  • 打赏
  • 举报
回复
mark~~~~~~~~~~~~~~~~~~~~~~~~~~~
s446721902 2010-03-04
  • 打赏
  • 举报
回复
引用 13 楼 s373785346 的回复:
XUEXI ~~~~~~~~~~~~~`

我还以为自己的马甲呢..
Henry8484 2010-03-04
  • 打赏
  • 举报
回复
XUEXI ~~~~~~~~~~~~~`
s446721902 2010-03-04
  • 打赏
  • 举报
回复
引用 11 楼 jameshooo 的回复:
1、先去了解对话框模板的结构 DLGTEMPLATE[EX]/DLGITEMTEMPLATE[EX]
2、读出对话框模板资源到结构中
3、直接修改结构,比如宽度
4、把结构重新保存到资源 BeginResource/UpdateResource/EndResource

谢谢指点
s446721902 2010-03-03
  • 打赏
  • 举报
回复
手动置顶,寻求帮助 回复内容太短了!
s446721902 2010-03-03
  • 打赏
  • 举报
回复
引用 5 楼 r3000 的回复:
Resource Hacker就可以转成你要的代码啊?你是要自己实现这个功能?
抱歉没搞清楚。

嗯,现在写了一部分了,正在继续努力中
康斯坦汀 2010-03-03
  • 打赏
  • 举报
回复
Resource Hacker就可以转成你要的代码啊?你是要自己实现这个功能?
抱歉没搞清楚。
s446721902 2010-03-03
  • 打赏
  • 举报
回复
引用 3 楼 r3000 的回复:
没看清,你已经有Resource Hacker了?

嗯,需要的是实现reshacker的代码^&^
康斯坦汀 2010-03-03
  • 打赏
  • 举报
回复
没看清,你已经有Resource Hacker了?
s446721902 2010-03-03
  • 打赏
  • 举报
回复
引用 1 楼 r3000 的回复:
下载 Resource Hacker http://www.onlinedown.net/soft/12421.htm

请仔细看题
康斯坦汀 2010-03-03
  • 打赏
  • 举报
回复

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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