int _stdcall My(HWND a,LPCTSTR b,LPCTSTR c,UINT d)
{
return ::MessageBox(NULL,"HOOK BY IAT",NULL,0);
}PROC g_Proc=(PROC)MessageBoxA;
void main()
{
cout<<"HOOK Fun Address:"<<hex<<(PROC)My<<"============================="<<endl;
cout<<"MessageBoxA"<<hex<<g_Proc<<"============================="<<endl;
::MessageBox(NULL,"PreHook",NULL,0);
HMODULE h=::GetModuleHandle(NULL);
    My(NULL,"PreHook",NULL,0); //1
CAPIHook text("USER32.dll","MessageBoxA",(PROC)My,FALSE);
cout<<"HOOK Fun Address:"<<hex<<(PROC)My<<"============================="<<endl;
My(NULL,"PreHook",NULL,0); //2
}用的是jeffrey richter的类
hook前后(PROC)My的地址没改变,但是2处My(NULL,"PreHook",NULL,0);不能调用,没有一点错误提示无论编译还是运行,就是2处没弹出窗口