使用 pyatspi 关闭窗口

Jon*_*erg 5 gtk ubuntu accessibility

无论如何,有没有使用 pyatspi 中的可访问性来关闭窗口?使用 accerciser,我似乎找不到带有最大化、最小化和关闭按钮的顶部栏组件。这可能吗?

我目前正在 Ubuntu 上工作。我希望它可以在任何使用 GNOME 桌面的 Linux 系统上运行。

注意:我想用 atspi 或 pyatspi 标记它,但我没有足够的声誉来做到这一点。有人可以帮我做吗?

现在,Alt+F4 似乎可以关闭 GNOME 桌面上的任何窗口。所以我尝试使用 pyatspi 模拟 Alt+F4 组合键。我可以通过查看 Xlib 中 keysymdef.h 中的值来模拟击键,但我似乎无法使用任何修饰符。

有没有办法使用 at-spi 生成 Alt+F4 ?这个解决方案还能用吗?

小智 3

我是AT-SPI新手,所以请不要将其视为参考。我也没有找到 AT-SPI 方法,我发送了 ALT+F4。第一行获取焦点(getChildAtIndex() 是从应用程序遍历到窗口)。然后:按下 ALT,按下 F4,按下 ALT。

app.getChildAtIndex(0).getChildAtIndex(0).queryComponent().grabFocus()
pyatspi.Registry.generateKeyboardEvent(64, None, pyatspi.KEY_PRESS)
pyatspi.Registry.generateKeyboardEvent(70, None, pyatspi.KEY_PRESSRELEASE)
pyatspi.Registry.generateKeyboardEvent(64, None, pyatspi.KEY_RELEASE)
Run Code Online (Sandbox Code Playgroud)