2011-01-25 75 views
0

我的意圖是能夠成功加載掛鉤Windows API的.dll文件。我已經廣泛地研究並嘗試過任何可以在運行Windows 7的64位計算機上加載我的.dll文件的方法,但我沒有成功。我嘗試的兩種解決方案包括將.dll的路徑加載到註冊表項中:如何在Windows 7上加載API?

電腦/ HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ WindowsNT的\ CURRENTVERSION \的Windows \ AppInit_DLLs

電腦\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微軟\ WindowsNT的\ CURRENTVERSION \的Windows \ AppInit_DLLs

請不要讓我誤解,有許多在線資源解釋如何l oad API到註冊表,但他們都沒有爲我工作。我很抱歉如果這個問題的答案很明顯,我已經盡力了。非常感謝時間和幫助!

回答

1

不要使用AppInit_DLLs機制,因爲它是非常危險的,可能導致其他應用程序崩潰和裝載機鎖死鎖(看看有什麼偉大的Raymond Chen有就這個問題說)。如果你絕對肯定必須使用這種機制,那麼你只能在 kernel32.dll中調用函數。根本沒有運行時調用

更好的選擇是尋找到使用detours

+0

Mandrill,非常感謝您的警告!我絕對不會再考慮這種方法了,我會查閱你的陳述,陳述雷蒙德不得不說的話。 – user515751 2011-01-25 15:55:15