2013-01-08 28 views
1

我有一个应用程序使用Xlib库在屏幕上模拟鼠标。如何使用Xlib模拟拖动操作?

我使用了XQueryPointer和XWarpPointer函数,可以模拟鼠标移动和点击。我的问题是我不能“拖拽”一个元素(它是一个可以在用C++编写并在Ubuntu上启动的Qt应用程序中移动的块的接口)。

我用这种提取物的很多地方:

Sending X11 click event doesn't work with some windows

该功能可以帮助我吗?

::XGrabPointer(mDisplay, window, True, 
      ButtonPressMask | 
      ButtonReleaseMask | 
      PointerMotionMask | 
      FocusChangeMask | 
      EnterWindowMask | 
       LeaveWindowMask, 
      GrabModeAsync, 
      GrabModeAsync, 
      RootWindow(mDisplay, DefaultScreen(mDisplay)), 
      None, 
      CurrentTime); 

你有什么想法吗?

预先感谢您。

+1

不,'XGrabPointer'在这里不相关。您需要使用[XTest扩展名](http://www.x.org/docs/Xext/xtest.pdf)(pdf)和'XtestFake * Something * Event' –

+0

谢谢,我立即尝试。 – Damien

回答