用C ++模拟鼠标和键盘输入

时间:2012-04-11 05:25:22

标签: c++ cross-platform

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

目标平台是桌面平台......仅适用于Linux,Mac和Windows。

3 个答案:

答案 0 :(得分:3)

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

一旦拥有基本API,最困难的部分就是让设备看起来更加逼真。您希望逐渐鼠标移动更新以中等高频率发送,就像鼠标一样,以及点击和按键之间的合理延迟。执行事件的时间线和执行基本几何可能会得到像SDL这样的游戏库的帮助。

如果您忽略计时,操作系统可能会扼杀鼠标移动,去抖动按钮,重新排列动作和咔嗒声,在使用触控板时忽略按键等等。我差不多10年前写过这样一个工具。

答案 1 :(得分:1)

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

它处于早期状态,并且正在编写一些小虫子。但我希望它会变得更好:)

答案 2 :(得分:0)

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

https://github.com/jkuhlmann/gainput