gpt4 book ai didi

c# - 将 KeyEventArgs 转换为 KEYDBINPUT 结构

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:45 27 4
gpt4 key购买 nike

我在一个联网系统(C# 中)上工作,在一台计算机上,我通过低级 Hook 接收键盘输入,然后将输入传输到另一台必须注入(inject)的计算机。

Hook 在 KeyEventArgs 类中传递键盘输入。要将其注入(inject)目标计算机,我需要使用带有 SendInput 的 KEYBDINPUT 结构。

KeyEventArgs.KeyCode 或 KeyValue 与KEYBDINPUT.wVk 和 wScan。我还尝试了一些组合中的 MapVirtualKey。

或者,我可以在源计算机上将 KeyEventArgs 转换为 Windows 键消息(WM_KEYUP/DOWN with wParam 和 lParam),但我面临着类似的困难。

这里有人可以帮助解决这两种情况吗?

最佳答案

你可能想看看最近的答案here我建议使用 InputSimulator作为其他低水平工作的替代品。这直接使用 Win32 SendInput API。

这使用了 VirtualKeyCode,所以既然你有 KeyEventArgs,你可以只使用 KeyValue 属性:

InputSimulator.SimulateKeyPress(keyEventArgs.KeyValue);

如果你只有一个System.Key,你可以转换成一个VirtualKey

http://msdn.microsoft.com/en-us/library/system.windows.input.keyinterop.virtualkeyfromkey.aspx

How can I convert 'System.Windows.Input.Key' to 'System.Windows.Forms.Keys'?

关于c# - 将 KeyEventArgs 转换为 KEYDBINPUT 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405151/

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