3

我可以使用剪贴板复制字符串(如 Ctrl+c),但我无法粘贴鼠标聚焦的位置。

当我复制数据时,我想将字符串粘贴到我已经通过点击浏览器关注的输入区域。就像用户按下 Ctrl+v 一样。

我想粘贴到 chrome 或 mozzila 浏览器输入区域(在我的应用程序之外。).. 我的操作系统是 windows ..

QClipboard *clipboard = QApplication::clipboard();
QString originalText = clipboard->text();//mevcut hafız
clipboard->setText(subString); //hafıza degistir
qDebug () << "Hafız : " << originalText;
4

1 回答 1

0

回答

如果您可以控制相关计算机上安装的操作系统和浏览器,则必须通过该操作系统和浏览器直接提供的机制进行控制。这不是 Qt 可以为您做的事情,它将依赖于本机 API。

OTOH,如果您打算将其用作更通用的用途,那么您正在寻找一个由模拟鼠标点击和键盘输入组成的相当麻烦的技巧。为此,我的建议是使用类似QtTestLib的东西。我不确定这是多么“可嵌入”,但是您可以查看它的来源以了解它如何移动鼠标以及模拟键盘输入和点击等。

然后方法是按标题枚举打开的窗口,过滤已知/支持的浏览器名称和版本,然后继续关注该窗口并为其提供必要的键盘快捷键流,以将焦点放在地址栏和剪贴板中的流字符作为键盘事件。

我没有用QtTestLib做到这一点。我的经验是使用Java Robot,这对于任务来说非常棒。

祝你好运!

于 2014-04-28T20:56:29.820 回答