【发布时间】:2021-06-23 09:24:51
【问题描述】:
我正在寻找一种在 C++ 中模拟鼠标和键盘输入的方法。我正在寻找一个可以帮助我实现这一目标的跨平台库。有什么建议吗?
目标平台是桌面平台...仅限 Linux、Mac 和 Windows。
【问题讨论】:
-
投票结束作为工具记录
标签: c++ cross-platform
我正在寻找一种在 C++ 中模拟鼠标和键盘输入的方法。我正在寻找一个可以帮助我实现这一目标的跨平台库。有什么建议吗?
目标平台是桌面平台...仅限 Linux、Mac 和 Windows。
【问题讨论】:
标签: c++ cross-platform
不,输入设备模拟非常特定于平台,即使在单个平台上也很挑剔。无论出于何种目的,它都不是一种强大的技术,因此您找不到好的库来实现它。
一旦您掌握了基本的 API,最困难的部分就是让设备在操作系统看来是真实的。您希望以适度高的频率发送逐渐的鼠标移动更新,就像鼠标一样,以及点击和按键之间的合理延迟。执行事件时间线和制作基本几何图形可能会得到 SDL 等游戏库的帮助。
如果您忽略计时,操作系统可能会减少鼠标运动、消除按钮抖动、重新排列运动和点击的顺序、在使用触控板时忽略按键等等。我差不多 10 年前就编写了这样一个工具。
【讨论】:
我开了这样一个图书馆,也许你想看一眼。 https://github.com/pythoneer/XInputSimulator
它处于早期状态,并且在编写时有点错误。但我希望它越来越好:)
【讨论】:
虽然输入库是特定于平台的,GUI 也是,但是有一些抽象库可用于 wxWdigets 和 Qt,它们隐藏了复杂性,对于输入,我发现这个很有趣
【讨论】: