gpt4 book ai didi

c# - 区分键盘的真实和虚拟按键

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:29 24 4
gpt4 key购买 nike

我正在用 C# 编写一个程序,它必须模拟键盘的按键命令。

问题是——我需要模拟“真实”的键盘按钮点击,而不是假的。例如,据我了解:

  • 当用户按下键盘上的任何按钮时 - 信号通过 USB 发送,然后通过键盘的驱动程序继续。

  • 当使用 API(SendInput、SendKeys、KeyBoardEvent 或其他)时 - 我们绕过 USB 和驱动程序,因此基本上可以通过全局 Hook 方法跟踪这些类型的按下。

如何模拟逼真的按键?

  • 我不了解 C++,因此无法编写自定义驱动程序。

  • 我不介意使用微 Controller 或任何额外的硬件“解决方案”,只要它便宜..

  • 也许可以通过 USB 数据线连接两台 PC,以便将真实的键盘按钮按下信号从 PC2 发送到 PC1?

那么方法是什么?

最佳答案

您可以使用全局键盘钩子(Hook) (WH_KEYBOARD_LL) 识别通过 SendInput() 发送的键盘事件。是回调方法LowLevelKeyboardProc收到 KBDLLHOOKSTRUCT作为参数。

如果在 KBDLLHOOKSTRUCT.flags 中设置了 LLKHF_INJECTED 标志,则会使用 SendInput() 注入(inject)键盘事件。

关于c# - 区分键盘的真实和虚拟按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10341525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com