c# - 将 KBDLLHOOKSTRUCT(.NET) 转换为 KeyEvent/Char(Java)、JNA

标签 c# java .net msdn jna

所以,基本上我正在做的是使用 JNA 设置 LowLevelKeyboardProc 键盘钩子(Hook),一切都工作得很好,我可以得到与我在 java 中想要的值完全一样的值,但我遇到的问题是当尝试转换为字符,处理大写锁、SHIFT 键和大量其他东西(例如键盘上不是 a-z 0-9 的所有东西)变得非常烦人,我想知道是否有更简单的方法来进行转换? 这是每次按下键时我从钩子(Hook)中得到的详细信息 http://msdn.microsoft.com/en-us/library/windows/desktop/ms644967(v=VS.85).aspx ,我认为最好找到一种手动生成 KeyEvent 的方法(不是字符,因为我需要一些东西来处理 F 键、大写锁定按钮、CTRL 按钮等)。

非常感谢我能得到的任何帮助!

最佳答案

Abbot 项目 (http://abbot.sf.net) 有一个使用预定义的键盘映射将键码映射到键字符的系统(它生成各种击键并记录结果字符输出)。但是,Java 没有提供一种方法来“预测”给定特定键代码的结果字符输出。

MS 库中可能有一些东西。

关于c# - 将 KBDLLHOOKSTRUCT(.NET) 转换为 KeyEvent/Char(Java)、JNA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744361/

相关文章:

java - 是否有更新的包含泛型的 javabean 反射库?

c# - 是否有关于编写软件安装程序的权威文档?

c# - C# 应用程序中的 SerialPort 问题

c# - 通过 M-V-MV 设计模式绑定(bind) MouseDoubleClick 的问题

c# - 如何安装适用于 Unity 的 Microsoft.Azure.Devices NuGet 包?

c# - 在 C# 中使用 Graph API 读取 b2c 扩展属性

java - Serializable 是如何工作的,为什么使用起来比 Parcelable 慢?

java - 在 Java Swing 中销毁 JPopupMenu

c# - ML.NET:功能列的架构不匹配 'Features'

c# - 定时从客户端到服务器的数据备份