C++调用剪贴板

void CTest::WriteToClipBoard(CString request)
{
	if (OpenClipboard())
	{
		HANDLE hClip;  
		char* pBuf;  
		EmptyClipboard();//清空剪贴板

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

		//关闭剪贴板  
		CloseClipboard(); 
	}
}
CString CTest::ReadFromClipBoard()
{
	::OpenClipboard(GetSafeHwnd()); 
	HANDLE hClipMemory = ::GetClipboardData(CF_TEXT);
	DWORD dwLength = GlobalSize(hClipMemory); 
	LPBYTE lpClipMemory = (LPBYTE)GlobalLock(hClipMemory); 
	CString rtnstr = CString(lpClipMemory); 
	GlobalUnlock(hClipMemory); 
	::CloseClipboard(); 

	return rtnstr;
}




用clipbrd.exe 于查看剪贴板内容,快捷方式:
(1)Win图标+R打开运行
(2)在运行中输入clipbrd


你可能感兴趣的:(剪贴)