Windows剪贴板读写

xingyun86 2022-12-18 1012

Windows剪贴板读写

void PushTextToClipboard(LPCSTR lpText)
{
	if (::OpenClipboard(NULL) == TRUE)//!< 打开剪切板
	{
		::EmptyClipboard();//!< 置空剪切板
		HGLOBAL hClipboardData = ::GlobalAlloc(GMEM_MOVEABLE, (lstrlenA(lpText) + 1) * sizeof(CHAR));//!< 申请内存
		CHAR* pA = (CHAR*)::GlobalLock(hClipboardData);//!< 锁定内存
		::lstrcpyA(pA, lpText);//!< 复制文本
		::GlobalUnlock(hClipboardData);//!< 解锁内存
		::SetClipboardData(CF_TEXT, hClipboardData);//!< 设置剪切板内容
		::CloseClipboard();//!< 关闭剪切板
	}
	::OpenClipboard(hWnd);
	::EmptyClipboard();
	if (::IsClipboardFormatAvailable(CF_TEXT))
	{
		HANDLE hClipboardData = ::GetClipboardData(CF_TEXT);//获取剪切板数据
		CHAR* pA = (CHAR*)::GlobalLock(hClipboardData);
		::GlobalUnlock(hClipboardData);
		::CloseClipboard();
	}
}


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回