gtk - 是否可以使用 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;
我希望能够找到当前活动的小部件,并打印它包含的任何内容,即文本缓冲区。现在,我只能找到有关窗口的一般信息。
解决方案
推荐阅读
- python - 根据概率更改较大字符串中的子字符串
- javascript - 如何在Javascript中选择具有部分字符串匹配的类
- web - 不同的浏览器是否提供不同的 Web API 集?
- php - PHP composer 从供应商中已安装的包生成 composer.lock 文件
- javascript - 从库存工具中服装化指标
- c++ - c++ 指针分段的混淆
- exception - 在 c++ 中使用 fstream 异常的运行时崩溃
- c# - 使用新的 dotnet new 模板版本更新 Dotnet Core 项目
- javascript - 为什么在 JavaScript 中访问 myInstance.property1.subproperty2.subproperty3 成本很高,但在 C++ 中却免费?
- node.js - 错误:无法读取 undefined_NodeJS 的属性“名称”