2

我买了一个物理按钮并将其连接到我的计算机上,使用 Arduino 它通过 USB 串行与我正在编写的 C++ 程序进行通信。现在我想让按钮模拟我电脑上的按键,这样我就可以将它用作我玩游戏的替代控制器。

如果您不熟悉 Arduino,请不要介意,我的问题完全在于 C++

解决方案非常简单,基本上可以归结为使用 SendMessage 到一个带有击键的窗口,或者许多替代方法,如 sendKeys 等等。

我已经尝试过每个可以处理此类事情的库或 Windows 函数,但它们都没有真正模拟键盘按下的击键。

到目前为止,我尝试的所有东西都适用于记事本和 Chrome 等许多程序,但没有一个适用于不听 Windows 消息来处理按键输入的游戏。

我的猜测是这些游戏使用 GetAsyncKeyState 以直接方式与物理键盘通信。

我该如何解决这个问题?什么 API 提供了这样的功能?

我在这里需要一些非常低级别的东西,甚至可能是一个模拟新键盘的程序,所以 Windows 认为我已经插入了一个物理键盘。

这对我很有帮助,我已经多次遇到这个问题,并且在不久的将来我会在其他项目中继续遇到它。

我希望有人可以帮助,谢谢!

4

1 回答 1

0

使用keybd_event()SendInput()

于 2013-03-28T17:15:54.177 回答