二进制资源和自定义资源使用定义

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在程序退出时会自动释放它们。
  

你可能感兴趣的:(WIN32系统开发)