java - 在Java中检测按下CTRL键而没有传递任何事件

标签 java keyboard

我正在为 native Windows 应用程序开发 Java 扩展。我的扩展是通过单击主机应用程序中的按钮启动的。我被要求为 Ctrl+click 操作提供不同的行为,但我无权访问鼠标事件,因为它来自非 Java 应用程序以及我必须的方法实现是无参数的。

我可以使用 Swing 和 JDK (Java 6) 中的任何其他东西。我需要的是一种方法来测试 Ctrl 键是否在代码开头按下。

最佳答案

如果不事先安装按键监听器并手动捕获指定的按键,Java 似乎不可能检查当前按键是否被按下。

因为你说你正在开发一个 native Windows应用程序:

您可以使用 JNI 访问 C++ 中的自定义代码,并使用 Windows 方法“GetKeyState”,它为您提供您似乎想要的功能。

关于java - 在Java中检测按下CTRL键而没有传递任何事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694611/

相关文章:

java - Android:应用程序关闭后 DiskLruCache 未保存

java - 聚合所有发出的流并使用 rxJava 立即发出它们

android - Android模拟器上物理键盘输入错误字符

android - 隐藏或移除 CardIO Scann 屏幕上的键盘按钮 (Android)

ios - UITextView - 键盘在拖动时关闭或交互关闭

Java反射改变参数?

java - 使用 Java 代理 (Byte Buddy) 将现有字段从私有(private)转换为公共(public)

java - 单个对象在 JVM 堆空间中的位置

android - 显示虚拟键盘时调整 QML 窗口大小

assembly - 在 DOS 中获取没有回显的键盘输入