我通过 LoadLibrary 加载一个模块(exe/dll)并在其中获取一个二进制资源的指针。
微软注意应该使用三个步骤:
- 使用 FindResource 返回 HRSRC
- 将 LoadResource 与该 HRSRC 一起使用并返回 HGLOBAL
- 使用 LockResource 锁定 HGLOBAL 以最终返回您想要的指针。
我不明白为什么MS设计这个过程如此奇怪?
如果要检测 resource 的长度,必须使用 SizeofResource 和第一步返回的指针,但不能输入 step2 和 step3 返回的指针。
如果检查这些步骤输出的指针地址,我得到了结果:
- LoadLibrary 加载的模块地址范围内的所有指针地址。
- step2 和 step3 的地址是一样的。
谁能解释一下这些函数到底是做什么的?