c++ - 如何使用Qt从系统剪贴板内容粘贴到任意窗口

标签 c++ qt clipboard

我对 this 有同样的疑问但在 Qt 中。

Qt中如何将剪贴板内容粘贴到任意位置*****(模拟CTRL+V)?

***** 无需按 CTRL+V 即可将剪贴板粘贴到 Qt 应用程序之外

最佳答案

我很确定您将不得不为此求助于平台细节。

首先,您必须以某种方式获取先前事件应用程序的 ID/句柄。在 Windows 中,这可以通过 GetWindow() 来完成。 , 如概述 here .在 EWMH 窗口管理器中,您可以使用 _NET_CLIENT_LIST_STACKING属性(property)。

其次,您必须要求该窗口执行粘贴操作。同样,在 Windows 中,SendMessage(window, WM_PASTE, 0, 0)([SendMessage]WM_PASTE 的文档)。我实际上不确定您将如何在 X11 中完成此操作。

可能有大约 70 000 个案例上述方法不起作用,但也许它可以让您开始?

关于c++ - 如何使用Qt从系统剪贴板内容粘贴到任意窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407937/

相关文章:

c++ - MPI_send 和 MPI_receive 字符串

c++ - 如何读取当前发送到 OpenGL 进行渲染的所有面

c++ - 如何从构造函数作为参数的函数访问私有(private)类的属性?

c++ - C++ 足以让诺基亚开发吗?

android - 在Windows for Android上从源代码构建Qt5.13.2时出错

java - 无法从 Mac OS X 上的后台 Java 应用程序监视系统剪贴板更改

android - 如何在代号为 one 的应用程序中从剪贴板读取字符串?

c++ - 通过增加元素的频率对数组进行排序

c++ - 为什么共享库可以定位为一个用户,而不是另一个?

c++ - CRichEditCtrl 如何知道已执行粘贴操作?