0
我想從我的應用程序文件夾的子文件夾加載DLL。所以我把my.dll和所有依賴的DLL到/MyFolder中無法從WindowsXP上的子文件夾加載庫
我帶我一段時間才能找出正確的方式來加載它:
m_handle = LoadLibraryEx(".\\myfolder\\my.dll", 0, LOAD_WITH_ALTERED_SEARCH_PATH);
它非常好於Windows 7 &及更高版本。但是,它返回錯誤998 ERROR_NOACCESS「對內存位置的訪問無效」。在Windows XP上。
但是從應用程序文件夾中加載這個DLL工作得非常好Windows上
PS的所有版本:我試圖用SetDllDirectory會與absoulte和相對路徑MyFolder文件,但在Windows XP仍然沒有成功
Windows XP的支持已經結束了很長時間。爲什麼需要支持它的具體原因? – tambre
它仍然有一個龐大的用戶羣,超過我的客戶的40% – Rem
使用相對路徑可能依賴於當前的工作目錄,這通常是問題的來源。可能結合XP的LoadLibrary不處理相對路徑。您是否嘗試過使用完整路徑的LoadLibrary?或者使用SetDllDirectory和myfolder的完整路徑,然後使用LoadLibrary(「my.dll」)。 – stijn