正如主题的描述/标题所说,这是一种可能性吗,因为我一直在谷歌和其他来源上搜索,没有任何运气,我来这里问这个问题......
是否有可能将 aDLL
作为资源嵌入到我的最终可执行文件中,然后调用它/就好像它是当前目录和/或系统目录中的外部文件一样?
我已经尝试了很多没有运气的事情,一些所说的解决方案效果不佳,我似乎已经将它嵌入到DLL
我的.rc
文件中,但是我对尝试调用它的问题感到震惊,也许它需要保存到磁盘上的物理文件中,我不确定。
[编辑]
下面是目前我已经实现的代码,仍然没有任何成功;我仍然面临The program can't start because soandso.dll is missing from your computer.
下面的代码,-/
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
HRSRC hRes = FindResource( hInstance, MAKEINTRESOURCE("#101"), "IDR_DLLRESOURCE_101" );
HGLOBAL hData = LoadResource( hInstance, hRes );
LPVOID lpFile = LockResource( hData );
DWORD dwSize = SizeofResource( hInstance, hRes );
HANDLE hFile = CreateFile("soandso.dll", GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
HANDLE hFilemap = CreateFileMapping(hFile, 0, PAGE_READWRITE, 0, dwSize, 0);
LPVOID lpBaseAddr = MapViewOfFile(hFilemap, FILE_MAP_WRITE, 0, 0, 0);
CopyMemory(lpBaseAddr, lpFile, dwSize);
UnmapViewOfFile(lpBaseAddr);
CloseHandle(hFilemap);
CloseHandle(hFile);
return 0;
}
预先感谢您提供的任何和所有帮助。