3

我正在寻找一种在 C++ 中模拟鼠标和键盘输入的方法。我正在寻找一个可以帮助我实现这一目标的跨平台库。有什么建议么?

目标平台是桌面平台……仅限 Linux、Mac 和 Windows。

4

3 回答 3

3

不,输入设备模拟非常特定于平台,即使在单个平台上也很挑剔。对于任何目的,它都不是一种强大的技术,因此您将找不到好的库来实现它。

一旦你拥有了基本的 API,最困难的部分就是让设备看起来对操作系统来说是真实的。您希望以适度高的频率发送逐渐的鼠标移动更新,就像鼠标一样,并且在点击和按键之间有合理的延迟。执行事件时间线和制作基本几何图形可能会得到 SDL 等游戏库的帮助。

如果您忽略时间,操作系统可能会减少鼠标运动、去抖动按钮、重新排列运动和点击的顺序、在使用触控板时忽略按键等。我差不多 10 年前就编写了这样一个工具。

于 2012-04-11T05:43:09.513 回答
1

我开了这样一个图书馆,也许你想看一眼。 https://github.com/pythoneer/XInputSimulator

它处于早期状态,并且在编写时有点错误。但我希望它越来越好:)

于 2013-07-16T12:22:58.997 回答
0

尽管输入库是特定于平台的,GUI 也是特定的,但是有一些抽象库可用于 wxWdigets 和 Qt,它们隐藏了复杂性,对于输入,我发现这个非常有趣

https://github.com/jkuhlmann/gainput

于 2021-06-23T01:24:51.413 回答