C++怎么读写windows剪贴板的内容

// 复制数据至剪切板
BOOL CopyToClipboard(const char* pszData, const int nDataLen)
{
if(::OpenClipboard(NULL))
{
::EmptyClipboard();
HGLOBAL clipbuffer;
char *buffer;
clipbuffer = ::GlobalAlloc(GMEM_DDESHARE, nDataLen+1);
buffer = (char *)::GlobalLock(clipbuffer);
strcpy(buffer, pszData);
::GlobalUnlock(clipbuffer);
::SetClipboardData(CF_TEXT, clipbuffer);
::CloseClipboard();
return TRUE;
}
return FALSE;
}

// 从剪切板中取得数据
BOOL GetTextFromClipboard()
{
if(::OpenClipboard(NULL))
{
//获得剪贴板数据
HGLOBAL hMem = GetClipboardData(CF_TEXT);
if(NULL != hMem)
{
char* lpStr = (char*)::GlobalLock(hMem); 
if(NULL != lpStr)
{
//MessageBox(0, lpStr, "", 0);
::GlobalUnlock(hMem);
}
}
::CloseClipboard();
return TRUE;
}
return FALSE;
}

按照你说的 其实还有一种方法就是 模拟键盘输入
模拟Ctrl+V
keybd_event(VK_CONTROL,0,0,0); 
keybd_event('V',0,0,0); 
keybd_event('V',0,KEYEVENTF_KEYUP,0); 
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值