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