1、二进制资源
(1)定义格式:
资源IDRCDATA [DISCARDABLE]
BEGIN
数据定义
END
(2)装入资源的例子(MASM32)
invokeFindResource,hInstance,ID_MYRES,RT_RCDATA ;寻找资源
.if eax
mov hres,eax;返回资源句柄
invoke SizeOfResource,hInstance,eax ;获取资源尺寸
mov dwResSize,eax
invoke LoadResource,hInstance,hres ;装入资源
.if eax
invokeLockResource,eax ;锁定资源
.if eax
mov lpres,eax ;将资源内存地址给lpres
..........
..........
.endif
.endif
.endif
二、自定义资源
(1)定义格式:
资源ID 类型ID [DISCARDABLE]
BEGIN
数据定义
END
或者用一个磁盘文件做资源的内容:
资源ID类型ID [DISCARDABLE]
BEGIN
数据定义
END
类型ID必须是大于255的数值或字符串
(2)装入资源的例子(MASM32)
跟二进制资源相似,惟一的区别是使用FindResource得到hres的参数有区别。
参数如下:
szResType1 db "WAVE",0;类型ID是WAVE
invokeFindResource,hInstance,1000,addr szRestype ;1000是资源ID
invokeFindResource,hInstance,1000,1000 ;1000是资源ID和类型ID
三、资源的释放,不必使用任何函数去释放它们,WINDOWS在程序退出时会自动释放它们。