C++操作系统剪切板

在这里插入图片描述
剪切:

	if (OpenClipboard())//打开剪贴板
	{
		CString str;
		HANDLE hClip;
		char* pBuf;
		EmptyClipboard();//清空剪贴板
		GetDlgItemText(IDC_EDIT_SEND,str);//获取IDC_EDIT_SEND中的数据

		//写入数据
		hClip = GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);
		pBuf = (char*)GlobalLock(hClip);
		strcpy(pBuf,str);
		GlobalUnlock(hClip);//解锁
		SetClipboardData(CF_TEXT,hClip);//设置格式

		//关闭剪贴板
		CloseClipboard();
	}

粘贴:

	if (OpenClipboard())//打开剪贴板
	{

		if (IsClipboardFormatAvailable(CF_TEXT))//判断剪贴板的数据格式是否可以处理。
		{
			HANDLE hClip;
			char* pBuf;

			//读取数据
			hClip = GetClipboardData(CF_TEXT);//参数为剪贴板的格式。
			pBuf=(char*)GlobalLock(hClip);
			GlobalUnlock(hClip);	//释放锁内存。
			SetDlgItemText(IDC_EDIT_RECV,pBuf);//把数据显示在IDC_EDIT_RECV中
			CloseClipboard();
		}
	}

版权声明:本文为weixin_42899088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。