程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++操作剪貼板具體應用方式解析

C++操作剪貼板具體應用方式解析

編輯:C++入門知識

C++編程語言在實際編程應用中可以使用靈活的方式幫助我們實現各種功能需求。在這裡我們將會充分了解到有關C++操作剪貼板的具體實現方法。希望能給大家帶來一些幫助。

  • C++ Endian具體操作方法講解
  • C++ switch-case語句應用經驗講解
  • C++連接MySqL數據庫操作代碼解讀
  • 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 添加向剪貼板寫入數據的代碼

  1. if (OpenClipboard())//打開剪貼板  
  2. {  
  3. CString str;  
  4. HANDLE hClip;  
  5. char* pBuf;  
  6. EmptyClipboard();//清空剪貼板  
  7. GetDlgItemText(IDC_EDIT_SEND,str);//獲取IDC_EDIT_SEND中的數據  
  8. //寫入數據  
  9. hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);  
  10. pBuf=(char*)GlobalLock(hClip);  
  11. strcpy(pBuf,str);  
  12. GlobalUnlock(hClip);//解鎖  
  13. SetClipboardData(CF_TEXT,hClip);//設置格式  
  14. //關閉剪貼板  
  15. CloseClipboard();  

4、為IDC_BTN_RECV 添加讀取剪貼板數據的代碼

  1. if (OpenClipboard())//打開剪貼板  
  2. {  
  3. if (IsClipboardFormatAvailable(CF_TEXT))//判斷格式是否是我們所需要  
  4. {  
  5. HANDLE hClip;  
  6. char* pBuf;  
  7. //讀取數據  
  8. hClip=GetClipboardData(CF_TEXT);  
  9. pBuf=(char*)GlobalLock(hClip);  
  10. GlobalUnlock(hClip);  
  11. SetDlgItemText(IDC_EDIT_RECV,pBuf);//講數據顯示在IDC_EDIT_RECV中  
  12. CloseClipboard();  
  13. }  

以上就是對C++操作剪貼板的相關介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved