注册 登录
编程论坛 汇编论坛

关于win32汇编资源文件

Franziska 发布于 2009-09-18 09:23, 3596 次点击
大家好,首次发帖。

我现在在学习win32汇编,始终有一个问题搞不定,那就是资源文件中的那些类似c语法的.rc文件是怎么产生的?不要告诉我是自己一行一行写的。.rc文件如何弄成.res,据说在vc++的资源管理器中,直接保存就行,这样太抽象了。

比如我现在有一个图标文件和小图片,要编写一个类似关于那样的窗体,这个时候要怎么把图标、图片、.asm整合在一起。
16 回复
#2
lonmaor2009-09-18 09:25
比如在资源编辑器或vc中,新建一个资源文件(.rc),然后通过新建或导入的方式加入诸如.ico,.bmp等元素。
.rc编译形成.res文件。
#3
Franziska2009-09-18 09:44
为了用一个资源编辑器而下载整个vc是不是划不来,请问版主:visual stdio中有没有vc这样的功能。
#4
onepc2009-09-18 09:44
如楼上所说。用vc可以。创建mfc exe工程。然后进去之后就可以拉控件了。
拉好之后。保存,在目录下有一个rc文件。,还有一个resource.h头文件,这时用记事本打开两个文件,把rc里没用的删掉。再把resource.h里的define定义等值的复制到rc文件里。
然后就。。。。。。
看罗云彬的第五章
#5
东海一鱼2009-09-18 09:55
资源文件最终表现形式为exe文件中的二进制数据。据此定义任何人都可以把任何数据任何形式放入自己的程序中。这也正是没有windows资源文件概念以前的做法。

windows资源文件的概念就是将此行为规范化。它首先用固定格式的脚本语言(rc文件)来描述这些资源。然后用资源编译器(rc.exe)将其打包成为固定格式的二进制资源文件(.res)链接进入exe程序内。

所以关键在于用脚本语言描述资源(对话框、字符串、位图、ico、按钮、、、、、)。由于脚本语言本身只是文本,无法可视化对所描述的资源对象进行编辑。所以大多数的开发整合环境都推出了自己的可视化资源编辑器。它的本质还是操作脚本文件,并根据用户需要调用rc.exe将其编译为res文件保存。
#6
Franziska2009-09-18 11:16
谢谢各位,我现在试试。
#7
zklhp2009-09-18 13:27
可以试下非虫老大发的那个~

aogo也做过一个从vc里分离的资源编辑器~
#8
Franziska2009-09-20 15:45
还是没有成功,不知道谁能给我帮人帮到底,给我一个简单的录像整合教程。
#9
Franziska2009-09-20 15:47
这个是我的邮箱:xiping_HB@
#10
Franziska2009-09-21 11:11
没有人帮帮我吗?
#11
东海一鱼2009-09-21 20:47
回复 10楼 Franziska
没那末复杂吧??

我来做个:

先写脚本文件:


#include <resource.h>                        //脚本宏定义
 
#define  IDI_ICON1    0x1009                 //注意,这里都是C的语法格式,因为ASM‘非主流’
#define  IDI_BMP1    0x100a
     
IDI_ICON1   ICON    "test.ico"               //定义两个标准资源:图标、位图
IDM_BMP1    BITMAP  "test.bmp"


好了,编译生成res文件
编译命令:
rc /v /i d:\masm32\include D:\RadASM\Masm\Projects\cpyf\test.rc
只有本站会员才能查看附件,请 登录
#12
东海一鱼2009-09-21 21:08
回复 11楼 东海一鱼
链接:
link /MACHINE:IX86 /SUBSYSTEM:WINDOWS /out:test.exe cpyf.obj test.res
只有本站会员才能查看附件,请 登录
#13
东海一鱼2009-09-21 21:11
回复 12楼 东海一鱼
用PE Explorer察看:
只有本站会员才能查看附件,请 登录
#14
Franziska2009-09-22 10:12
非常感谢你。
#15
Franziska2009-09-22 10:25
Calc.rc(1) : fatal error RC1015: cannot open include file '\GeneSys\include\resurce.h'.
出现了这一句
#16
东海一鱼2009-09-22 11:12
rc /v /i d:\masm32\include D:\RadASM\Masm\Projects\cpyf\test.rc

注意: /i 指定你的resurce.h文件的路径。
#17
Franziska2009-09-22 12:17
谢谢,不知道怎么感谢你。
我送你一套破解教程吧!
QQ:278090208
1