静安高和大厦邮编:关于VC的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 17:19:34
我用
MAKEINTRESOURCE函数把程序资源载入内存
以应用;
但是应用完成后内存没有释放出来
应该用什么方法释放资源占用的内存呢??
用什么函数呢??
望高手帮忙

MAKEINTRESOURCE是一个资源名转换的宏,
VC的定义是(winuser.h):
#define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))
#define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
#ifdef UNICODE
#define MAKEINTRESOURCE MAKEINTRESOURCEW
#else
#define MAKEINTRESOURCE MAKEINTRESOURCEA
#endif // !UNICODE

这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题.
用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针,然后再传递给LoadResource之类的函数,这样才加载了资源.
要释放资源(用LoadResource加载的)可以调用FreeResource函数把LoadResource返回的指针传递给FreeResource.