首先是我已經搜索了一段時間,並且找不到與我的案例有關的任何答案。基本上我試圖得到一個函數的地址在一個Windows DLL(dnsapi.dll)和GetProcAddress返回0.經過一段時間的撓頭,我甚至還創建了一個簡單地使用MessageBox的GetProcAddress在user32中的程序。 DLL。同樣的結果。這裏是我做了第二程序的代碼仍然不工作:GetProcAddress返回0對於所有功能
#include <stdio.h>
#include <Windows.h>
int main() {
HINSTANCE hLib = LoadLibrary(TEXT("user32.dll"));
DWORD MsgBoxAddr = (DWORD)GetProcAddress(hLib, "MessageBox");
printf("%ld", MsgBoxAddr);
getchar();
return 0;
}
BTW GetLastError返回127,這似乎是在GetProcAddress的不工作,但我想不出返回的最常見的錯誤什麼是錯誤的,我已經嘗試過很多函數和DLL,而不僅僅是這些對。
謝謝。 :)
編輯: 鏈接的文章解決了我的問題,我試過的功能都有unicode和各種版本(w和a)。使用完整的API名稱解決了問題。感謝您鏈接該問題。
謝謝。
+1好:)'/ *註釋必須長度至少爲15個字符。 * /' – Paul