QQ登录

只需一步,快速开始

上位机MFC实现剪贴板内容查看

[ 复制链接 ]

上位机MFC实现剪贴板内容查看

上位机MFC实现剪贴板内容查看

例程实现剪切板内容查看功能。
功能简单,有需要的朋友可以下载参考。
关键代码为:

  1. void CClipBoardAccessDlg::OnObtain()
  2. {       
  3.         // TODO: Add your control notification handler code here
  4.         if (!::OpenClipboard(m_hWnd))
  5.         {
  6.                 AfxMessageBox(_T("有其它程序打开了剪贴板!"));
  7.                 return;
  8.         }
  9.        
  10.         HGLOBAL hMem;
  11.         LPSTR lpStr;
  12.         UINT uFormat = ::EnumClipboardFormats(0);

  13.         // 处理剪贴板为空的情形
  14.         if (!uFormat)
  15.         {
  16.                 AfxMessageBox(_T("剪贴板为空!"));
  17.                 return;
  18.         }

  19.         // 以特定方式获得剪贴板数据
  20.         while (1)
  21.         {
  22.                 hMem = ::GetClipboardData(uFormat);
  23.                 lpStr = (LPSTR)::GlobalLock(hMem);
  24.                 if (lpStr)
  25.                         break;
  26.                 uFormat = ::EnumClipboardFormats(uFormat);
  27.         }

  28.         // 获得剪贴板数据长度
  29.         SIZE_T size = ::GlobalSize(hMem);


  30.         CString strShow,strAdd;
  31.         UINT nLine;
  32.         SIZE_T counter;
  33.         for (counter = 0,nLine = 1;counter <= size;counter++,nLine++)
  34.         {
  35.                 strAdd.Format("%02x  ",(UCHAR)lpStr[counter]);
  36.                 strShow += strAdd;
  37.                 if (nLine % 8 == 0)
  38.                 {
  39.                         nLine %= 8;
  40.                         strShow += "\r\n";
  41.                 }
  42.                 if (counter == 0x100)
  43.                 {
  44.                         AfxMessageBox(_T("剪贴板数据太多,这里只显示前256字节的内容"));
  45.                         break;
  46.                 }
  47.         }

  48.         // 解除对剪贴板句柄的锁定,关闭剪贴板供其它程序使用
  49.         ::GlobalUnlock(hMem);
  50.         ::CloseClipboard();

  51.         // 显示数据类型
  52.         switch (uFormat)
  53.         {
  54.         case CF_TEXT:
  55.         case CF_UNICODETEXT:
  56.                 SetRadio(0);
  57.                 break;
  58.         case CF_BITMAP:
  59.         case CF_DIB:
  60.         case CF_PALETTE:
  61.         case CF_TIFF:
  62.                 SetRadio(1);
  63.                 break;
  64.         case CF_ENHMETAFILE:
  65.         case CF_WAVE:
  66.         case CF_RIFF:
  67.                 SetRadio(2);
  68.                 break;
  69.         default:
  70.                 SetRadio(3);
  71.                 break;
  72.         }

  73.         // 将数据显示到编辑控件中
  74.         SetDlgItemText(IDC_EDIT_SHOW,strShow);

  75.         // 显示剪贴板数据长度
  76.         strAdd.Format("剪贴板中数据共%o字节",(LONGLONG)size);
  77.         SetDlgItemText(IDC_EDIT_LENGTH,strAdd);
  78. }
复制代码
源代码下载地址:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC实现剪贴板内容查看.rar 
文件大小:31.74 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索