OnLoginSuccess()定义里面的变量不可少吧?象下面这种用法,我用过N次,从来都没问题:
LONG OnUpdateUserDataNow(UINT wParam,LONG lParam);...
//}}AFX_MSG_MAP
ON_MESSAGE(ID_UPDATEUSERDATANOW,OnUpdateUserDataNow)
END_MESSAGE_MAP()LONG CXXX::OnUpdateUserDataNow(UINT wParam,LONG lParam)
{
return 0L;
}
LONG OnUpdateUserDataNow(UINT wParam,LONG lParam);...
//}}AFX_MSG_MAP
ON_MESSAGE(ID_UPDATEUSERDATANOW,OnUpdateUserDataNow)
END_MESSAGE_MAP()LONG CXXX::OnUpdateUserDataNow(UINT wParam,LONG lParam)
{
return 0L;
}
所以void OnLoginSuccess(WPARAM wParam,LPARAM lParam);就OK了。
因为MFC在处理消息时,对他的函数进行参数压站,是不检查参数的,直接压两个DWORD,其结果就是冲乱你的站空间导致指针越界