進程通信係列-消息緩衝
消息緩衝機製就是把消息直接放在結構體裏,以消息進行傳輸,缺點在於數據長度有限製,容易出錯,優點在於可以多窗口傳輸,即時傳輸
消息緩衝類:(接受代碼是重載一個消息函數,放在最後exe代碼中展現)
#include "stdafx.h"
#include "copyData.h"
CString name,content;
COPYDATASTRUCT cd;
copyData::copyData(void)
{
cd.dwData=0;
}
copyData::~copyData(void)
{
}
int flag=0;
BOOL CALLBACK find(HWND hwnd, LPARAM lParam)
{
char s[200];
GetWindowText(hwnd,s,200);
if(s==name)
{
SendMessage(hwnd, WM_COPYDATA, 0, (LPARAM)(&cd));
flag=1;
}
return 1;
}
int copyData::send(CString na,CString co)//發消息
{
name=na;content=co;
cd.cbData=content.GetLength()+1;
cd.lpData=(void*)content.GetBuffer(cd.cbData);
flag=0;
EnumWindows(find,NULL);
return flag;
}
最後更新:2017-04-03 20:19:50