剪切板实现进程间两个关键步骤
- 【1】写数据到剪切板(进程1)
- 【2】从剪切板读取数据(进程2)
进程1程序
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
int main()
{
if(OpenClipboard(NULL))//打开剪切板,把数据写到剪切板上,
{
string str = "hello world";//要写入的内容
cout<<"要写入剪切板上的数据为:"<<str<<endl;
HANDLE hClip;
char *pBuf;
EmptyClipboard();
//GetDlgItemText(IDC_EDIT_SEND,str);
hClip=GlobalAlloc(GMEM_MOVEABLE,str.length()+1);
pBuf=(char*)GlobalLock(hClip);
strcpy(pBuf,str.c_str());
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
CloseClipboard();
}
system("pause");
return 0;
}进程2程序
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
int main()
{
if(OpenClipboard(NULL))打开剪切板,吧剪切板上的数据拿出来
{
if(IsClipboardFormatAvailable(CF_TEXT))
{
HANDLE hClip;
char *pBuf;
hClip=GetClipboardData(CF_TEXT);
pBuf=(char*)GlobalLock(hClip);
GlobalUnlock(hClip);
//SetDlgItemText(IDC_EDIT_RECV,pBuf);
CloseClipboard();
cout<<"从剪切板上得到的数据是:"<<pBuf<<endl;
}
}
system("pause");
return 0;
}结果展示
版权声明:本文为qq_31839479原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。