我在包含它所使用的DLL的應用程序目錄中有一個C++ Exe。現在,爲了某些測試目的,我需要修改現有的DLL並使用它來代替原來的DLL。但爲了不修改現有安裝,我無法備份現有的DLL並將其替換爲修改後的DLL或將其移動到其他位置。我也不能改變Exe。這2個DLL需要並排存在。唯一的變化應該是Exe應該透明地加載在其他文件夾中的修改的DLL,而不是與Exe相同的文件夾中的現有DLL。有沒有一些優雅的做法呢?Windows:更改DLL的DLL搜索順序
我看了一些MSDN文章,但找不到這樣做的方法。該解決方案應該可以在Windows XP上運行。
能否請你解釋一下它是如何工作的,謝謝 - gg – 2009-10-27 00:44:13
MSalters描述的方式是你應該嘗試的第一種方式。這是執行DLL注入的最簡單方法。 如果它不起作用(我沒有看到這個原因),那麼你應該實現一個真正的API掛鉤。這是一個複雜的話題來描述。您可以通過在Web上搜索「Windows API掛接」主題來獲得一些示例代碼和實用程序庫。 – 2009-10-29 01:45:27