首页 > 解决方案 > 是否可以使用 GDK 或 GTK 从活动的 Firefox 窗口中提取用户生成的内容?(类似于 Windows 上的 FIndWINdow)

问题描述

我正在做一个爱好项目,同时试图更好地理解 Linux 中的窗口系统。我想创建一个程序,该程序将不断在 Firefox 窗口中打印活动文本框的内容。我知道这在带有 FindWindow 的 Windows 上是可能的,但我很好奇这是否可以在 Linux 上复制。

我目前在 ubuntu 上使用标准版本的 firefox 运行它。到目前为止,我已经能够根据窗口 ID 拉入一个外国窗口,但似乎无法超越。当前脚本只是打印出 firefox 窗口的显示宽度。

    uint xlib_window = 0x00800010; //firefox window id
    gtk_init(&argc, &argv);
    GdkDisplay * gdk_display = gdk_display_get_default();
    GdkWindow * temp =     gdk_x11_window_foreign_new_for_display(gdk_display, xlib_window);
    cout << gdk_window_get_width(temp) << endl;

我希望能够找到当前活动的小部件,并打印它包含的任何内容,即文本缓冲区。现在,我只能找到有关窗口的一般信息。

标签: gtkx11xlibgdk

解决方案


推荐阅读