我正在使用 C 和 Xlib 编写一个应用程序,我想知道是否可以获取窗口的输入元素小部件(文本框、按钮等)的列表。
我正在使用 XQueryTree 函数检索窗口列表。我想要完成的是能够将焦点设置到给定窗口中的某个文本框或按钮。
我知道这是由工具包(GTK、QT、..)处理的,但我想知道是否有机会将此信息提供给 Xserver。
最佳答案
所以,我一直在研究 ATK,它似乎可以满足我的需要。
对于其他想知道的人来说,GNOME 开发的辅助工具包 (ATK) 公开了很多关于通过 dbus 运行应用程序的信息。
它允许您遍历可访问性树(应用程序 GUI 的一部分)并获取有关它们的信息,例如名称、状态(例如“启用”、“可见”、“可编辑”、“可聚焦”、.. .) 和角色(例如“应用程序”、“框架”、“面板”、“按钮”、“菜单栏”……)。 它还允许操纵焦点甚至触发操作(例如模拟按钮中的点击)。
对于 C 语言的开发,我一直在使用 libatspi 库。
关于c - 获取窗口的输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26147275/