- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在一个联网系统(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/
我对 KeyEventArgs 的 KeyCode 和 KeyData 以及 KeyValue 有疑问。KeyCode 和Keydata 都是Keys 类型,但我不知道它们有什么区别。对于 KeyVa
使用有什么区别 e.Handled = true 和 e.SuppressKeyPress = true 我读到过 SuppressKeyPress 调用 e.Handled,但除此之外它还有作用吗?
KeyEventArgs.systemKey 和有什么区别和 KeyEventArgs.Key ?在 WPF Usercontrol 类中捕获按键事件是否可以,如下所示。 protected
我正在使用 global keyboard hooks当窗口失焦时作为键盘监听器。我已经完成了一些代码,我意识到无论出于何种原因,打开大写锁定都会更改 KeyEventArgs 的输出。使用 shif
我有一个小型事件处理程序来处理用户按下的或条形码扫描器传送的所有键: public void KeyDownSink(object sender, System.Windows.Input.KeyEv
在 c# .net 应用程序中有这个: 字符串键 = e.KeyCode.ToString(); 在 .net 1.1 中 key = "enter" 在 .net 3.5 中 key = "retu
有没有办法确定 KeyEventArgs 中的键是否为字母/数字(A-Z、0-9)?还是我必须自己做?我找到了 e.KeyCode 的方法, 准确吗? if(((e.KeyCode >= Keys.A
有没有办法将 WPF 的 KeyEventArgs.Key 转换为 Char? 我尝试使用 KeyInterop: var x = (Char)KeyInterop.VirtualKeyFromKey
在列表框内,如果双击列表框项,列表框项的值分配给列表框内的动态文本框。(我在列表框内创建了一个动态文本框)。然后我需要修改文本框值。之后单击 enter 键,将文本框值添加到列表框项中,然后将动态文本
基本上我有运行时加载的类,如下所示: [Plugin("Plugin name")] class PluginActions { [Action("Flip Normals") public
下面会详细描述 我有课 //MyDataHeaders.h public ref class MyGlobalData { //blah...blah...blah... public: static
我在一个联网系统(C# 中)上工作,在一台计算机上,我通过低级 Hook 接收键盘输入,然后将输入传输到另一台必须注入(inject)的计算机。 Hook 在 KeyEventArgs 类中传递键盘输
我目前正在开发一款 WinForms 项目小游戏。游戏场由玩家(一个单独的类)可以继续移动的瓷砖网格构建而成。我希望玩家使用箭头键移动并为它设置了一个事件处理程序,但它似乎从未被调用过。 (最小化)播
我正在捕获一个 KeyDown 事件,我需要能够检查当前按下的键是否是:Ctrl + Shift + M ? 我知道我需要使用 KeyEventArgs 中的 e.KeyData、Keys 枚举以及带
这个问题在这里已经有了答案: ListView KeyUp Error for the Control Key (1 个回答) 关闭 8 年前。 我为 Windows 窗体窗体的 KeyDown 事
我有 System.Windows.Input.KeyEventArgs 变量。我想得到真正的炭。例如,我按键盘上的 } 按钮。通常它会返回类似 oem.. 的字符串,但我想获取 字符。怎么办? [编
作为解决问题的方法,我认为我必须处理 KeyDown 事件以获取用户实际键入的可打印字符。 KeyDown 为我提供了一个具有 KeyCode、KeyData、KeyValue、Modifiers、A
我需要将事件参数作为 char 获取,但是当我尝试转换 Key 枚举时,我得到的字母和符号与传入的完全不同。 如何正确地将 Key 转换为字符? 这是我试过的 ObserveKeyStroke(thi
我找到了这个看起来像我需要的答案: How can I programmatically generate keypress events in C#? 除了我无法创建 KeyEventArgs 的实
我有一个文本框,我试图将 KeyEventArgs 从 View 传递到 View 模型。但我不知道如何实现它。基本上我需要的是,如果键入一些特殊字符,则要调用一些函数,如果键入普通文本(如 A、B、
我是一名优秀的程序员,十分优秀!