我使用Qt框架,我想我的生成应用程序窗口外的鼠标事件。
到目前为止,我设法使用移动鼠标指针:
QGuiApplication::overrideCursor()->setPos(x,y);
我怎么也产生鼠标左键单击,中键点击,右键点击鼠标滚轮运动?
我使用Qt框架,我想我的生成应用程序窗口外的鼠标事件。
到目前为止,我设法使用移动鼠标指针:
QGuiApplication::overrideCursor()->setPos(x,y);
我怎么也产生鼠标左键单击,中键点击,右键点击鼠标滚轮运动?
几年前,我写了GUI测试(鼠标和键盘),一个司机。 驱动程序适用于Windows,Linux和MacOS X.你可以看一下开发这里 。 有一个OS依赖MouseDriver执行的Windows。 你也可以看到其他实现。 这是一个开源项目,你可以使用它的代码是免费的。
有没有办法做到这一点使用Qt。 使用特定的API为你的目标平台。
除了第一个答案。 例如,在Windows中:
点击:
mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP,x,y,0,0);
轮:
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, WHEEL_DELTA, NULL);
更多信息: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx
使用也QT宏:
#ifdef Q_WS_X11
//Linux
#endif
#ifdef Q_WS_WIN
//Windows
#endif
#ifdef Q_WS_MACX
//Mac
#endif
更多关于宏: http://qt-project.org/doc/qt-5/qtglobal.html
QSysInfo: http://qt-project.org/doc/qt-5/qsysinfo.html