Я не уверен, правильно ли я вас понял, но вы не загружаете весь exe-файл в память, когда пытаетесь получить к нему доступ.Все, что вам нужно сделать, это:
HRSRC hres = FindResource(NULL, // Returns the current process as a resource
"Name",
RT_RCDATA);
И затем просто загрузить его:
HGLOBAL hglob = LoadResource(NULL,
hres);
И это даст вам указатель на первый байт:
LPVOID lpFirstByte = LockResource(hglob);
Надеюсь, это поможет!