Clipboard(剪贴板)1-监听剪贴板更新

作者: admin 分类: C++ 发布时间: 2022-04-02 17:55

订阅专栏

监听剪贴板

C++源码

添加消息

BEGIN_MESSAGE_MAP(CClipboardDlg, CDialogEx)

ON_WM_CLIPBOARDUPDATE()

END_MESSAGE_MAP()

添加监听

BOOL CClipboardDlg::OnInitDialog()

{

CDialogEx::OnInitDialog();

AddClipboardFormatListener(this->GetSafeHwnd());

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

}

添加消息处理

class CClipboardDlg : publicCDialogEx

{

public:

    afx_msg void OnClipboardUpdate();

};

 

void CClipboardDlg::OnClipboardUpdate()

{

OutputDebugString(_T("剪贴板更新\n"));

    CDialogEx::OnClipboardUpdate();

}

测试

使用Ctrl+C复制文件,看看输出窗口是否有“剪贴板更新”?

注意

如果出现如下图所示“无法定位程序输入点AddClipboardFormatListener于动态连接库USER32.dll上。”的情况,建议使用::LoadLibrary和GetProcAddress函数手动加载一个与“C:\WINDOWS\system32\User32.dll”版本不一致新的DLL,可以去网上下载也可以从别的电脑系统里面拷贝,一般情况您找到的User32.dll是无法替换“C:\WINDOWS\system32\User32.dll”,因为有太多的程序占用了“C:\WINDOWS\system32\User32.dll”,所以想要替换这个dll一般都要重装系统。所以放在自己程序的同一个目录下就行了,如果还是加载失败,很有可能你的系统不兼容这个dll,如果不想安装电脑请使用别的电脑。经测试xp上“5.1.2600.5512”不含有该接口函数,win7“6.1.7601.17514”拥有该接口函数。

20160801105459435.png

————————————————

版权声明:本文为CSDN博主「少莫千华」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/chenlu5201314/article/details/52083795

发表回复

您的电子邮箱地址不会被公开。

标签云