Window黑客编程之资源释放技术(2)

当使用完资源后,必须通过调用函数以释放加速器表、位图、光标、目标以及某单所占的内存资源:加速器表:DestroyAcceleratorTable;位图:DeleteObject;光标:DestroyCursor;图标:Destroylcon;菜单:DestroyMenu。

当过程创建终止时,系统将自动删除这些资源。但是调用相关函数也可以保留内存减少过程的工作设置所占空间。

相关函数说完了,最后再理一下代码流程。

首先通过FindResource函数定位程序里的资源,主要根据资源类型,和资源名称定位,获得资源消息块的句柄。

然后根据获得的句柄,再通过SizeofResource函数获取资源的大小。

然后通过LoadResource函数把资源加载到程序内存中。

再然后通过LockResource函数锁定加载到内存中的资源,防止程序中的其他操作影响这块内存。返回值就是资源在进程内存中的起始地址。

最后资源大小以及进程内存的起始地址,可以将资源数据读出并保存为本地文件。

还有最后一点需要注意,在main()函数里的第一行和第三行需要根据自己的实际情况进行修改。

案例演示

创建新项目,写入上述代码,然后运行程序,查看窗口,和项目目录,发现运行成功,资源释放成功。

小结

关于资源释放就说到这里,如有错误请斧正。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzwdd.html