7
A
回答
4
您可以使用XQueryPointer()
来获取鼠标位置。然后使用XQueryTree()
获取窗口列表。 XQueryTree()
以适当的z顺序返回窗口列表,以便您可以遍历所有窗口,直到找到其边界框位于指针下方的窗口,XGetWindowAttributes()
将为您提供找出边界框所需的所有内容。我不确定你会怎样处理窗户。
我有几年没有使用X11,所以这可能是一个相当笨拙的方法,但它应该工作。我也没有O'Reilly X11书籍,如果你打算使用低级别的X11作品,那么你就需要亲自阅读其中的一本书;我认为整个系列在这些日子里可以免费上网。
3
十多年来我还没有编程X11,所以请原谅我,如果我得到这个错误。
我相信你可以在你的窗户上注册鼠标移动事件。如果通过将窗口句柄存储在某个变量或其他变量中来处理此类事件,然后处理该事件以使其不会渗透到树中,那么当您想要识别该窗口时,您只需查询该变量即可。
但是,这只会在鼠标悬停在窗口上时注册了合适的事件处理程序,因此您不会了解属于其他应用程序的窗口 - 除非有办法注册其他人的事件这可能是可能的窗户。
与其他答案相比,您不必遍历整棵树。缺点是你需要处理很多鼠标移动事件,并且可能无法找到其他人的窗户。
我相信也可能有鼠标输入和鼠标离开事件,这会减少所需的处理量。
相关问题
- 1. 获取当前键盘光标位置
- 2. 获取X11窗口标题高度
- 3. 获取鼠标在窗口中的相对位置x11
- 4. 如何获取浏览器窗口的X11窗口ID
- 5. SAPUI5:获取存在于当前窗口
- 6. 如何获取当前文本部件的光标位置
- 7. 使用visual studio extension获取基于光标位置的代码窗口信息
- 8. 通过光标/光标位置获取当前语句
- 9. c# - 获取当前窗口标题
- 10. 如何获取鼠标悬停事件上的当前文本光标位置?
- 11. 如何在Mac OS X中获取相对于窗口的光标位置?
- 12. C++ NCurses如何获取当前光标位置?
- 13. ckeditor - 获取当前光标位置的前一个字符
- 14. 在X11中,如何在创建窗口标题之前设置窗口标题?
- 15. Perl:使用X11获取窗口的几何形状WindowID
- 16. 如何获取窗口位置并更新到其他窗口?
- 17. 如何在滑动窗口中获取当前窗口时间?
- 18. 使用X11的窗口ID
- 19. 如何在C#中获取当前的鼠标光标坐标?
- 20. C#获取当前光标图标
- 21. 获取当前鼠标光标类型
- 22. SWT可以获取窗口中闪烁光标的位置
- 23. 从GtkWidget获取X11窗口句柄
- 24. 获取窗口在光标下的窗口句柄
- 25. 获取围绕当前光标位置的单词的样式
- 26. 如何调用放大窗口功能取决于Emacs的当前窗口
- 27. 如何不断获取当前的前景窗口?
- 28. 如果光标位于元素之外时如何获取应用mousdown光标?
- 29. 钛 - 获取当前窗口的高度
- 30. 获取webrowser控件中当前光标位置的链接ID
例如这里:http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_ACRO_SUP/XWINSYS.PDF – 2010-12-23 07:55:53