c++ - 在 Linux 上将文本粘贴到事件窗口

标签 c++ python linux x11

我想编写一个应用程序,在按下某些键时将一些文本粘贴到事件窗口。我如何使用 Python 或 C++ 执行此操作?

我想编写一个像守护进程一样工作的应用程序,并在某些全局按键上将一些文本粘贴到当前事件的应用程序(文本编辑器、浏览器和 jabber 客户端)。我想我需要使用一些低级 X Window 服务器 API。

最佳答案

多个应用程序界面之间的交互可能会很棘手,因此提供更多关于您正在尝试做什么的具体信息可能会有所帮助。

不过,如果您想使用剪贴板来完成此操作,您有几个选择。在 Windows 上,Windows API 提供 GetClipboardDataSetClipboardData .要从 Python 使用这些函数,您需要利用 win32com .

在 Linux 上,您有两个主要选项(据我所知)用于与剪贴板交互。 PyGTK提供一个 gtk.Clipboard目的。还有一个用于设置 X“选择”的命令行工具,XSel .您可以通过 os.popen 使用 Python 与 XSel 交互或 subprocess .参见 this guide有关使用 gtk.Clipboard 和 xsel 的信息。

就您实际使用剪贴板的方式而言。一个应用程序可能会经常轮询剪贴板以查找更改。

如果您想进入真正的“企业”架构,您可以使用消息总线,例如RabbitMQ。 , 在两个应用程序之间进行通信。

关于c++ - 在 Linux 上将文本粘贴到事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450892/

相关文章:

c++ - hboehm 垃圾收集器未初始化值错误和泄漏

python - 在 django 中使用 python unittest 运行特定的测试用例

c++ - 无法解决将二维数组传递给函数的外部问题

c++ - QActions是如何被删除的

python - Pandas :使用组创建新列意味着以另一列为条件

python - 异常处理,只接受特定的文件输入

linux - Linux 内核中的 TCP 调用流程

python - 屠杀了我的 python - 如何更改安装了多个的默认 python 版本?

linux - 如何检测 Dropbox 文件夹何时更新?

c++ - 在 C++ 中将 2D 屏幕坐标转换为 3D 空间坐标?