在64位应用程序中加载32位DLL库

adk*_*adk 39 dll loadlibrary getprocaddress

有没有办法加载32位DLL库(具有与LoadLibrary相同的用法)我想使用该函数和GetProcAddress.

我看了WOW,但它似乎没有提供功能.功能应该存在,因为像DependencyWalker这样的工具能够读取32位dll的符号,即使它的64位也是如此.

谢谢

Joh*_*ler 51

抱歉,当您将dll作为数据文件加载时,只能将32位DLL加载到64位进程中.您无法执行代码. http://support.microsoft.com/kb/282423

Microsoft建议您使用进程间COM将32位代码与64位应用程序一起使用.这是一篇解释过程的文章http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/ 这不好玩.

  • 该文章的更新链接:http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/ 另请参阅http://stackoverflow.com/questions/ 128445/从 64 位进程调用 32 位代码 (2认同)

Dav*_*e F 6

如果您只想从中获取资源,则可以将其作为数据文件加载:

LoadLibraryEx(exeName, NULL, LOAD_LIBRARY_AS_DATAFILE);
Run Code Online (Sandbox Code Playgroud)

然后FindResource正常调用。