まず第一に、私はこれをしばらく検索しましたが、私のケースに関連する回答が見つかりません。基本的に、私は Windows DLL (dnsapi.dll) の関数のアドレスを取得しようとしていますが、GetProcAddress は 0 を返しています。 dll. 同じ結果です。これは私が作成した 2 番目のプログラムのコードで、まだ動作しません。
#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;
}
ところで、GetLastError は 127 を返します。これは、GetProcAddress が機能しないときに返される最も一般的なエラーのようですが、何が問題なのかわかりません。これらのカップルだけでなく、多くの関数と DLL で試しました。
ありがとう。:)
編集:リンクされた記事は私の問題を解決しました。私が試した機能にはすべてユニコードとアニスのバージョン(wとa)がありました。完全な API 名を使用すると、問題が解決しました。その質問をリンクしてくれてありがとう。
ありがとうございました。