2014-05-10 31 views
-2

我想通過使用GetProcAddress來找到像NtUserMessageCall這樣的API的地址。 但是會出現此錯誤:「找不到指定的過程。」如何在widows中加載Native API?

HMODULE hUser32 = LoadLibrary(TEXT("User32.dll"));//handle user32 
LPCSTR APIName = "NtUserMessageCall"; 
FARPROC function_address = GetProcAddress(hNtdll, APIName);//retrun Null 
int temp = GetLastError();//Error 127 
hUser32 = GetModuleHandle(TEXT("User32.dll"));//retrun Null 
temp = GetLastError();//Error 127 
+0

可以請你解釋一下嗎? – temp

+1

爲什麼你使用user32作爲ntdll?錯誤的模塊 – pastapockets

+0

這是我的工作所必需的 – temp

回答

0

user32.dll不出口NtUserMessageCall供公衆使用(這只是內部的),這樣你就可以按名稱使用GetProcAddress沒有得到它的地址。您必須找到另一種技術,例如下載並解析符號文件(.PDB),以獲取您正在使用的DLL版本。

+0

你能解釋更多嗎? – temp

相關問題