Windows剪貼簿操作簡單小例

來源:互聯網
上載者:User

標籤:param   his   call   ring   opencl   data-   size   清空   操作   

1、複製文字到剪貼簿

CString strText = L"須要拷貝到剪貼簿的文字";if ( ::OpenClipboard(m_hWnd) ){if ( ::EmptyClipboard() )//清空剪貼簿內資料{int nSize = strText.GetLength()*2+1;//這裡是位元組數,UNICODE編碼每一個字元佔2個位元組,後面加上一個\0結尾符.HGLOBAL hMem = ::GlobalAlloc(GHND, nSize);byte* pData=(byte*)::GlobalLock(hMem);memcpy_s(pData, nSize, strData.GetData(), nSize-1);pData[nSize-1]='\0';::GlobalUnlock(hMem);::SetClipboardData(CF_UNICODETEXT, hMem);::CloseClipboard();::GlobalFree(hMem);}}

2、複製位元影像控制代碼到剪貼簿

//儲存截屏地區位元影像到剪下板if( ::OpenClipboard(m_hWnd) ){if( ::EmptyClipboard() ){HBITMAP hBmp = GetBitmapRect(g_hScreenBmp, m_rect);::SetClipboardData(CF_BITMAP, hBmp);DeleteObject(hBmp);::CloseClipboard();}}
3、總的來說,你必須依照這個順序來操作剪貼簿:open ---- empty ---- setdata ----- close。(開啟-清空-設定-關閉)

很多其它具體參數介紹能夠參考MSDN說明

RemarksOpenClipboard fails if another window has the clipboard open. An application should call the CloseClipboard function after every successful call to OpenClipboard. The window identified by the hWndNewOwner parameter does not become the clipboard owner unless the EmptyClipboard function is called. If an application calls OpenClipboard with hwnd set to NULL, EmptyClipboard sets the clipboard owner to NULL; this causes SetClipboardData to fail.



Windows剪貼簿操作簡單小例

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.