このようにMessageBox()関数を呼び出すとします:
GetProcAddress関数でMessageBoxを呼び出す方法は?
1)。必要なライブラリをロードする
2)。関数のアドレスを取得
3)。それを呼び出す
私が理解するように、私はMessageBox関数ですべての型の引数を持つ新しい型を定義する必要があります。
INTを返し、HWND、LPCSTR、LPCSTR、UNITを受け入れます。
だから私は、新しいタイプregistred:私は、このような関数を呼び出すことに問題がある
typedef int(__stdcall *msgbox)(HWND, LPCSTR, LPCSTR, UINT);
を。そのようなやり方は、すべての機能に対して、あるいは輸出のためだけに機能しますか?
どうすればMessageBoxを正確に呼び出すことができますか?
全コード:
#include <iostream>
#include <windows.h>
using namespace std;
typedef int(__stdcall *msgbox)(HWND, LPCSTR, LPCSTR, UINT);
int main(void)
{
HINSTANCE__ *hModule = LoadLibrary(L"\\Windows\\System32\\User32.dll");
msgbox *me = 0;
if(hModule != 0)
{
me = (msgbox*)GetProcAddress(hModule, "MessageBox");
}
return 0;
}
おかげで、
よろしく!
このようなアドバイスをいただきありがとうございます。 –
DLLで非エクスポート関数を呼び出す方法を知りませんか?ありがとうございました! –
@ user1131997私はそれを行う方法がないとは思わない – Praetorian