采用剪贴板的方法,完成进程之间的通信。
1.把数据发送到剪贴板上
void CClipBoardDlg::OnBnClickedButtonSend()
{
if (OpenClipboard())//打开剪贴板
{
CString csTemp;//保存发送编辑框内的数据
HANDLE hClip;//保存调用GlobalAlloc函数后分配的内存对象的句柄
char *pBuf;//保存调用AllocLock函数后返回的内存地址
EmptyClipboard();//情况剪贴板上的数据
GetDlgItemText(IDC_EDIT_SEND,csTemp);//得到发送编辑框中的内容
hClip = GlobalAlloc(GMEM_MOVEABLE,csTemp.GetLength()+1);//分配内存
pBuf = (char*)GlobalLock(hClip);//内存块加锁,将句柄转化为指针
strcpy(pBuf,csTemp);
GlobalUnlock(hClip);//内存块解锁
SetClipboardData(CF_TEXT,hClip);//向剪贴板上放置数据
CloseClipboard();//关闭剪贴板
}
}
2、得到剪贴板上的内容
void CClipBoardDlg::OnBnClickedButtonReceive()
{
if (OpenClipboar