是否有加載32位DLL庫(與LoadLibrary具有相同用法的東西)的方法我想將該函數與GetProcAddress一起使用。在64位應用程序中加載32位DLL庫
我看着WOW,但它似乎沒有提供功能。該功能應該存在,因爲像DependencyWalker這樣的工具能夠讀取32位DLL的符號,即使它的64位也是如此。
謝謝
是否有加載32位DLL庫(與LoadLibrary具有相同用法的東西)的方法我想將該函數與GetProcAddress一起使用。在64位應用程序中加載32位DLL庫
我看着WOW,但它似乎沒有提供功能。該功能應該存在,因爲像DependencyWalker這樣的工具能夠讀取32位DLL的符號,即使它的64位也是如此。
謝謝
對不起,但是你只能加載一個32位DLL到64位進程當你加載DLL作爲數據文件。你不能執行代碼。 http://support.microsoft.com/kb/282423
Microsoft建議您使用進程間COM使用64位應用程序的32位代碼。這裏有一篇文章解釋了這個過程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 /主叫-32位碼從 - 64位處理 –
在32位可執行文件中讀取32位可執行代碼和執行代碼是有區別的。我不相信Windows提供任何功能來做到這一點。
你可能做到這一點的唯一方法是創建一個32位的進程,加載DLL,然後進行進程間通信以在兩個進程之間傳遞結果。
如果所有你想要做的就是從它的資源,你可以加載一個數據文件:
LoadLibraryEx(exeName, NULL, LOAD_LIBRARY_AS_DATAFILE);
然後調用FindResource
正常。
這是在這裏回答:http://stackoverflow.com/questions/128445/calling-32bit-code-from-64bit-process。 John Knoeller的答案也是正確的。 –
https://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/ – Ampere
@John B. Lambe這篇文章的標題比你更清楚鏈接到那些正在搜索exe-call-dll的人。 – ebk