发送端
void xxx(CString a1,CString a2)
{
CString m_strCopyData;
m_strCopyData=L"|" + a1 + L"|"+ a2 + L"|";//自定义发送的数据
CWnd *pWnd=CWnd::FindWindow(NULL,L"AAAA");//找到标题为AAAA的应用程序发送数据
COPYDATASTRUCT cpd;
cpd.dwData=0;
cpd.cbData=m_strCopyData.GetLength();;
cpd.lpData=(void*)m_strCopyData.GetBuffer(cpd.cbData);
pWnd->SendMessage(WM_COPYDATA,NULL,(LPARAM)&cpd);//注意这里不能用PostMessage,因其是异步函数,接收端没有收到就会返回
}
接收端,请把窗口标题写为‘AAAA’,才能找到窗口发送
比如应用程序为a1,在a1dlg.h文件中类中定义
// Ca1Dlg 对话框
class Ca1Dlg : public CDialog
{
// 构造
public:
Ca1Dlg(CWnd* pParent = NULL);