一、用於存儲數據的自定義結構體:spa
struct MSG_STRUCT { wchar_t msg[256]; };
二、發送端,發送按鈕響應事件的代碼code
void CSendWM_COPYDATADlg::OnBnClickedSendmessage() { MSG_STRUCT smsg; GetDlgItemText(IDC_MESSAGE,smsg.msg,256); HWND hTargetWnd=NULL; hTargetWnd=::FindWindow(NULL,_T("ReceiveWM_COPYDATA COPYDATASTRUCT cds; cds.cbData=sizeof(MSG_STRUCT); cds.lpData=&smsg; if(hTargetWnd==NULL) return; ::SendMessage(hTargetWnd,WM_COPYDATA,reinterpret_cast<WPARAM>(m_hWnd), reinterpret_cast<LPARAM>(&cds)); }
三、接收端,響應WM_COPYDATA的代碼orm
BOOL CReceiveWM_COPYDATADlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct) { // TODO: Add your message handler code here and/or call default CString cs_str; CString cs_PrivStr; GetDlgItemText(IDC_RECEIVEMSG,cs_PrivStr); ++m_ReceiveNum; MSG_STRUCT smsg; if(pCopyDataStruct->cbData==sizeof(smsg)) { memcpy_s(&smsg,sizeof(smsg),pCopyDataStruct->lpData,pCopyDataStruct->cbData); } //MessageBox(smsg.msg); cs_str.Format(_T("消息%d:%s\r\n"),m_ReceiveNum,smsg.msg); cs_str=cs_PrivStr+cs_str; SetDlgItemText(IDC_RECEIVEMSG,cs_str); return CDialog::OnCopyData(pWnd, pCopyDataStruct); }
五、最終效果圖事件
發送端get
接收端:ast