c++ - 低级编程键盘模拟

标签 c++ winapi keyboard emulation postmessage

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

如果你不熟悉Arduino,不要介意,我的问题完全在C++上

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

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

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

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

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

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

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

希望有人能帮忙, 谢谢!

最佳答案

关于c++ - 低级编程键盘模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687820/

相关文章:

c# - 如何覆盖 WinForms RichTextBox 的 Ctrl+Shift+0(零)?

javascript - HTML5/Javascript/Canvas手游如何添加虚拟键盘?

c++ - 如何使用宏在 C++ 中嵌入调试语句

c++ - C++ 11中线程的延迟启动

c++ - SDL 切换全屏显示框架

c++ - 如何使用 C++ WinAPI 在 Windows 机器上可靠地将本地时间转换为 UTC

C++ 可以删除运算符失败,如果不能,为什么?

c++ - 导出 map 可以只选择您要链接到的功能吗?

c# - 检测 PowerModeChange 并等待执行

android - 动态更改键盘布局