1 数据定义
class MESSAGE
{
public:
char name[50];
int age;
int tel;
int grade;
};
2 Send
void CTecherLi_SendDlg::OnBnClickedSend()
{
UpdateData(TRUE);
MESSAGE *message=new MESSAGE;
GetDlgItemText(IDC_EDIT4,message->name,50);
message->age=m_iAge;
message->tel=m_iTel;
message->grade=m_iGrade;
CWnd *cWnd=FindWindow(NULL,_T("Techer Li_Receive"));
if (cWnd==NULL)
{
MessageBox(_T("无法获得窗口句柄"));
}
else
{
COPYDATASTRUCT cop;
cop.lpData=message;
cop.cbData=sizeof(MESSAGE);
cWnd->SendMessage(WM_COPYDATA,0,(LPARAM)&cop);
}
delete message;
}
3 Receive
BOOL CTecherLi_ReceiveDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
MESSAGE *pp;
pp=(MESSAGE*)pCopyDataStruct->lpData;
m_strName=pp->name;
m_iAge=pp->age;
m_iTel=pp->tel;
m_iGrade=pp->grade;
UpdateData(FALSE);
return CDialogEx::OnCopyData(pWnd, pCopyDataStruct);
}