工控编程吧

标题: 上位机MFC监控剪切板与数据提取实例新方法 [打印本页]

作者: qq263946146    时间: 2019-1-12 21:07
标题: 上位机MFC监控剪切板与数据提取实例新方法

上位机MFC监控剪切板与数据提取实例新方法

上一方法使用的较为不方便,

下面是新方法的项目创建过程与注释;

0.新建基于对话框程序,如界面图片添加控件,编程框ID为 IDC_EDIT1;

1.添加两按钮点击函数,实现监视与停止监视
  1. void CClipboardMonitorDlg::OnBnClickedButton1()//开始监控剪切板;
  2. {
  3.         if(_WIN32_WINNT < 0x0600)
  4.         {
  5.                 MessageBox("系统版本过低!");
  6.                 return;
  7.         }
  8.         if (! AddClipboardFormatListener(GetSafeHwnd()) )
  9.                 MessageBox("失败!");
  10. }

  11. void CClipboardMonitorDlg::OnBnClickedButton2()//停止监控剪切板;
  12. {
  13.         RemoveClipboardFormatListener(GetSafeHwnd());
  14. }
复制代码


3.添加消息WM_CLIPBOARDUPDATE处理函数,实现剪切板数据发生变化时,提取剪切板内容
  1. void CClipboardMonitorDlg::OnClipboardUpdate()
  2. {
  3.         // 此功能要求 Windows Vista 或更高版本。
  4.         // _WIN32_WINNT 符号必须 >= 0x0600。
  5.         //<>      
  6.         ::OpenClipboard(GetSafeHwnd());
  7.         HGLOBAL hClipboardData = GetClipboardData(CF_TEXT);
  8.         CString sData = (char *)(GlobalLock(hClipboardData));
  9.         SetDlgItemText(IDC_EDIT1, sData);
  10.         GlobalUnlock(hClipboardData);
  11.         ::CloseClipboard();

  12.         CDialogEx::OnClipboardUpdate();
  13. }
复制代码
函数实现将剪切板内容显示在编辑框中。
(, 下载次数: 0)