【语言-C++】 Clipboard(剪贴板)1-监听剪贴板更新

监听剪贴板

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上。”的情况,建议使用::LoadLibraryGetProcAddress函数手动加载一个与“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”拥有该接口函数。






  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app中,需要在manifest.json文件中设置剪贴板权限。具体步骤如下: 1. 打开manifest.json文件,找到“permission”字段,如果没有则需要手动添加。 2. 在“permission”字段中添加以下代码: ``` "clipboard": { "desc": "允许应用访问剪贴板" } ``` 3. 在需要使用剪贴板功能的页面中,可以通过uni.setClipboardData和uni.getClipboardData进行剪贴板的读写操作。 需要注意的是,如果应用需要在Android平台上使用剪贴板功能,还需要在AndroidManifest.xml文件中设置剪贴板权限。可以通过在App.vue文件中添加以下代码来自动设置: ``` <template> <div> <slot></slot> </div> </template> <script> export default { onLaunch: function() { #ifdef APP-PLUS plus.android.requestPermissions(["android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA", "android.permission.RECORD_AUDIO", "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.CALL_PHONE", "android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS", "android.permission.GET_ACCOUNTS", "android.permission.ACCESS_WIFI_STATE", "android.permission.CHANGE_WIFI_STATE", "android.permission.ACCESS_NETWORK_STATE", "android.permission.CHANGE_NETWORK_STATE", "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS", "android.permission.SYSTEM_ALERT_WINDOW", "android.permission.REQUEST_INSTALL_PACKAGES", "android.permission.RECEIVE_BOOT_COMPLETED", "android.permission.WAKE_LOCK", "android.permission.VIBRATE", "android.permission.ACCESS_NOTIFICATION_POLICY", "android.permission.REQUEST_BACKGROUND_LOCATION", "android.permission.FOREGROUND_SERVICE", "android.permission.BLUETOOTH", "android.permission.BLUETOOTH_ADMIN", "android.permission.USE_FULL_SCREEN_INTENT"], function(e) { console.log("权限申请结果:" + JSON.stringify(e)); }); #endif } }; </script> ``` 以上代码会在应用启动时自动为应用申请所需的权限,其中包括剪贴板权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值