Winapi 这对使用通过签名扫描找到的exe中的资源有效吗?

Winapi 这对使用通过签名扫描找到的exe中的资源有效吗?,winapi,file,resources,Winapi,File,Resources,我想如果不将资源完全加载到内存中,就无法使用exe中的资源。假设我计划使用我自己准备的大型RC_数据资源。是否可以通过签名扫描在我的可执行文件中找到它,然后将其与CreateFile和offset一起使用 谢谢我不确定我是否正确理解了您的意思,但是您在尝试访问exe时没有将整个exe加载到内存中。您需要做的只是: HRSRC hres = FindResource(NULL, // Returns the current process as a resource

我想如果不将资源完全加载到内存中,就无法使用exe中的资源。假设我计划使用我自己准备的大型RC_数据资源。是否可以通过签名扫描在我的可执行文件中找到它,然后将其与CreateFile和offset一起使用


谢谢

我不确定我是否正确理解了您的意思,但是您在尝试访问exe时没有将整个exe加载到内存中。您需要做的只是:

HRSRC hres = FindResource(NULL, // Returns the current process as a resource
                          "Name",
                          RT_RCDATA); 
然后加载它:

HGLOBAL hglob = LoadResource(NULL,
                             hres);
这将为您提供指向第一个字节的指针:

LPVOID lpFirstByte = LockResource(hglob);

希望这有帮助

这个假设是错误的。谢谢,我似乎试图让事情变得比实际情况更复杂。看起来整个exe已经被内存映射,它只返回资源的相应偏移量,甚至没有将其加载到单独的内存中。函数LoadResource的名称有误导性,可能是因为在Windows 3.1中它实际上是“正在加载”