剪贴板应用

来源:互联网 发布:网络flash英文歌曲 编辑:程序博客网 时间:2024/04/27 22:36

//设置剪贴板数据

void CClipBoardDlg::OnBnClickedSet(){// TODO: 在此添加控件通知处理程序代码CString strInput;GetDlgItem(IDC_INPUT)->GetWindowText(strInput);if(strInput.IsEmpty()){MessageBox(_T("输入数据不能为空!"));return;}if(!OpenClipboard()){MessageBox(_T("打开剪贴板失败!"));return;}//清空剪贴板数据后,成为剪贴板的拥有者,才能对其进行写操作if(!EmptyClipboard()){MessageBox(_T("清空剪贴板数据失败!"));CloseClipboard();return;}UINT cbInput = (strInput.GetLength() + 1) * sizeof(TCHAR);HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbInput);if(NULL == hData){MessageBox(_T("申请内存失败!"));CloseClipboard();return;}memcpy_s(GlobalLock(hData), cbInput, strInput.LockBuffer(), cbInput);GlobalUnlock(hData);strInput.UnlockBuffer();UINT nFormat = (sizeof(TCHAR) == sizeof(wchar_t) ? CF_UNICODETEXT : CF_TEXT);SetClipboardData(nFormat, hData);//GlobalFree(hData);CloseClipboard();}

//获取剪贴板数据

void CClipBoardDlg::OnBnClickedGet(){// TODO: 在此添加控件通知处理程序代码if(!OpenClipboard()){MessageBox(_T("打开剪贴板失败!"));return;}UINT nFormat = (sizeof(TCHAR) == sizeof(wchar_t) ? CF_UNICODETEXT : CF_TEXT);HANDLE hData = GetClipboardData(nFormat);m_strOutput += (LPCTSTR)(GlobalLock(hData));GlobalUnlock(hData);CloseClipboard();UpdateData(FALSE);}

0 0
原创粉丝点击