閱讀530 返回首頁    go 阿裏雲 go 技術社區[雲棲]


進程通信係列-消息緩衝

  消息緩衝機製就是把消息直接放在結構體裏,以消息進行傳輸,缺點在於數據長度有限製,容易出錯,優點在於可以多窗口傳輸,即時傳輸


消息緩衝類:(接受代碼是重載一個消息函數,放在最後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

  上一篇:go httpclient通過POST來上傳文件,而不是通過流的形式,並在服務端進行解析(通過httpmime.jar來操作)
  下一篇:go Linux命令行之逗趣無極限