C++編程語言在實際編程應用中可以使用靈活的方式幫助我們實現各種功能需求。在這裡我們將會充分了解到有關C++操作剪貼板的具體實現方法。希望能給大家帶來一些幫助。
剪貼板內置在windows中,並且使用系統的內部資源RAM,或虛擬內存來臨時保存剪切和復制的信息,可以存放的信息種類是多種多樣的。剪切或復制時保存在剪貼板上的信息,只有再剪貼或復制另外的信息,或停電、或退出windows,或有意地清除時,才可能更新或清除其內容,即剪貼或復制一次,就可以粘貼多次。
下面介紹C++操作剪貼板如何實現,主要是寫入數據和獲取數據,對剪貼板的操作可以看做是一種進程間通信的方式
1、在VC++6.0~9.0)新建一個基於對話框的MFC的項目 ClipboardTest
2、 添加兩個編輯控件IDC_EDIT_SEND 和 IDC_EDIT_RECV)和兩個按鈕IDC_BTN_SEND 和 IDC_BTN_RECV)
3、為IDC_BTN_SEND 添加向剪貼板寫入數據的代碼
- if (OpenClipboard())//打開剪貼板
- {
- CString str;
- HANDLE hClip;
- char* pBuf;
- EmptyClipboard();//清空剪貼板
- GetDlgItemText(IDC_EDIT_SEND,str);//獲取IDC_EDIT_SEND中的數據
- //寫入數據
- hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);
- pBuf=(char*)GlobalLock(hClip);
- strcpy(pBuf,str);
- GlobalUnlock(hClip);//解鎖
- SetClipboardData(CF_TEXT,hClip);//設置格式
- //關閉剪貼板
- CloseClipboard();
- }
4、為IDC_BTN_RECV 添加讀取剪貼板數據的代碼
- if (OpenClipboard())//打開剪貼板
- {
- if (IsClipboardFormatAvailable(CF_TEXT))//判斷格式是否是我們所需要
- {
- HANDLE hClip;
- char* pBuf;
- //讀取數據
- hClip=GetClipboardData(CF_TEXT);
- pBuf=(char*)GlobalLock(hClip);
- GlobalUnlock(hClip);
- SetDlgItemText(IDC_EDIT_RECV,pBuf);//講數據顯示在IDC_EDIT_RECV中
- CloseClipboard();
- }
- }
以上就是對C++操作剪貼板的相關介紹。