我想如果没有将资源完全加载到内存中,就无法使用exe资源。假设我计划使用自己准备的大型RC_DATA资源。可以通过签名扫描在我的可执行文件中找到它并在之后使用CreateFile和偏移吗?
由于
答案 0 :(得分:0)
我不确定我是否理解正确,但是当您尝试访问它时,您不会将整个exe加载到内存中。您所需要做的就是:
HRSRC hres = FindResource(NULL, // Returns the current process as a resource
"Name",
RT_RCDATA);
然后加载它:
HGLOBAL hglob = LoadResource(NULL,
hres);
这将为您提供指向第一个字节的指针:
LPVOID lpFirstByte = LockResource(hglob);
希望这有帮助!