如何在c ++中捕获粘贴事件

时间:2017-10-12 15:40:55

标签: c++ winapi clipboard paste

我知道我可以通过使用SetClipboardViewer向键盘查看器链添加窗口句柄或通过键盘挂钩来捕获复制事件。

但是当粘贴发生时(使用ctrl + v,右键单击>粘贴或菜单编辑 - >粘贴时,似乎没有传播剪贴板消息。

我们还有其他方法可以捕获粘贴事件吗?

1 个答案:

答案 0 :(得分:2)

没错,您无法通过查看剪贴板来检测粘贴。 复制到剪贴板是写操作,您可以在剪贴板查看器中看到(尽管您不能将它们与剪切区分开来)。

来自剪贴板的粘贴是读取操作,因此您无法在剪贴板查看器中看到它们,即使您这样做,也无法区分粘贴和预览中的粘贴特殊"没有实际的粘贴。

全球监控WM_PASTE可能会有所帮助。例如,使用记事本,您应该使用Ctrl + V粘贴和上下文菜单粘贴来查看它。但有些应用程序不会使用此消息 - 他们没有义务这样做。

相关问题