我正在尝试编写一个函数,该函数从我传递给它的结构指针中获取 MessageBoxA 的地址,然后使用该地址调用 MessageBoxA。问题是我尝试用这种方法调用 MessageBoxA 5 次,但我的程序总是在 3 次后崩溃,我不知道为什么。
void code(struct ShellD * s)
{
s->pMsgBox(NULL,"s","s",MB_OK);
s->pMsgBox(NULL,"s","s",MB_OK);
s->pMsgBox(NULL,"s","s",MB_OK);
s->pMsgBox(NULL,"s","s",MB_OK);
s->pMsgBox(NULL,"s","s",MB_OK);
}
int main(int argc, char **argv)
{
struct ShellD SD;
SD.pMsgBox = GetProcAddress(LoadLibraryA("user32.dll"),"MessageBoxA");
code(&SD);
}
Run Code Online (Sandbox Code Playgroud)