XQueryPointer函数在某些情况下可能会返回模糊的窗口信息,这通常是因为X窗口系统中的窗口管理器或桌面环境对鼠标焦点窗口进行了特殊处理
要解决这个问题,您可以尝试以下方法:
XGetInputFocus
函数来获取当前具有输入焦点的窗口,而不是使用XQueryPointer
。示例代码如下:Window focused_window;
int revert_to;
XGetInputFocus(display, &focused_window, &revert_to);
usleep
函数实现延迟:#include <unistd.h>
//...
usleep(100000); // 延迟100毫秒
Xlib
扩展,如XInput2
,它提供了更精确的输入设备信息和事件处理。请注意,这需要额外的配置和编程工作来使用XInput2
扩展。libwnck
库来获取当前活动窗口的信息,该库为窗口管理器提供了更高级的抽象。领取专属 10元无门槛券
手把手带您无忧上云