最近自己在用SWT做个小插件,需要用到系统热键,但是热键只能在当前shell激活的状态下才有效,于是网上各种找。。。终于找到了JIntellitype 。
用JIntellitype 注册热键参考代码如下:
//第二个参数为组合键,如果为0,则认为是没有组合键,118代表了F8
JIntellitype.getInstance().registerHotKey(1, 0, 118);//hide shell
//组合键的应用
//JIntellitype.getInstance().registerHotKey(1, JIntellitype.MOD_CONTROL, (int)'1');//hide shell
JIntellitype.getInstance().addHotKeyListener(new HotkeyListener() {
public void onHotKey(int identifier) {
if(identifier == 1) {
} else if(identifier == 2) {
}
}
});
备忘按键的数值:
public static final int F1 = 112;
public static final int F2 = 113;
public static final int F3 = 114;
public static final int F4 = 115;
public static final int F5 = 116;
public static final int F6 = 117;
public static final int F7 = 118;
public static final int F8 = 119;
public static final int F9 = 120;
public static final int F10 = 121;
public static final int F11 = 122;
public static final int F12 = 123;
public static final int ESC = 27;
public static final int TAB = 9;
public static final int CAPSLOCK = 20;
public static final int SHIFT = 16;
public static final int CTRL = 17;
public static final int START_LEFT = 91;
public static final int START_RIGHT = 92;
public static final int CONTEXT_MENU = 93;
public static final int ALT = 18;
public static final int SPACE = 32;
public static final int CARRIAGE_RETURN = 13;
public static final int LINE_FEED = 10;
public static final int BACK_SLASH = 220;
public static final int BACK_SPACE = 8;
public static final int INSERT = 45;
public static final int DEL = 46;
public static final int HOME = 36;
public static final int END = 35;
public static final int PAGE_UP = 33;
public static final int PAGE_DOWN = 34;
public static final int PRINT_SCREEN = 44;
public static final int SCR_LK = 145;
public static final int PAUSE = 19;
public static final int LEFT_ARROW_KEY = 37;
public static final int UP_ARROW_KEY = 38;
public static final int RIGHT_ARROW_KEY = 39;
public static final int DOWN_ARROW_KEY = 40;
分享到:
相关推荐
标题中的“jintellitype”是一个专门为Java应用程序设计的库,它允许开发者在Java程序中注册全局热键,即用户可以通过预先设定的快捷键组合来触发特定的程序功能。这个特性极大地增强了Java应用程序的交互性和用户...
// 注册热键,例如Ctrl + Alt + J jIntellitype.registerHotKey(1, JIntellitype.MOD_CTRL | JIntellitype.MOD_ALT, KeyEvent.VK_J); // 添加热键事件监听器 jIntellitype.addHotKeyListener(new ...
4. **API使用**:开发者需要了解如何使用jintellitype提供的API,例如`JIntelliType.getInstance()`获取实例,`registerHotKey(int id, int modifiers, int vkCode)`注册热键等。 5. **兼容性**:jintellitype主要...
把JIntellitype.dll复制到了C:\WINDOWS\system32下,然后在eclipse工程名在点击右键——属性——Java构建路径——库——添加外部jar。如果不行,放到D:\Program Files\Java\jre6\bin中,才有作用
2. 初始化JIntellitype并注册热键。 3. 实现热键事件监听器,处理热键触发的事件。 4. 在程序结束时解除注册热键。 在压缩包文件的列表中,我们看到的文件主要分为几类: - 文档:如COPYRIGHT、LICENSE、...
在`registerHotkey()`方法中,我们创建了一个`GlobalHotkey`实例并设置了热键组合(Ctrl+Shift+F12),然后调用`register()`方法注册热键。当需要取消监听时,调用`unregisterHotkey()`方法。 为了处理热键事件,...
**JIntellitype** 是一个Java库,它允许开发者在Java应用程序中注册和处理全局热键,也就是系统级别的快捷键。这些热键不受应用程序窗口焦点的影响,可以在操作系统任何地方激活,增强了用户交互的可能性。...
本文将详细讲解如何利用JIntelliType 1.3.1版本在Java中注册并使用快捷键。 首先,JIntelliType是针对Java开发的一个库,由Markus Goldstein编写,它允许Java应用程序在Windows操作系统上注册全局热键,即使焦点不...
JIntelliType是一个Java库,它允许开发者在Java应用程序中与Windows系统下的全局热键和鼠标事件进行交互。同时,描述中还提到了"jar源码",这通常指的是JIntelliType库的源代码,这对于开发者理解其工作原理和进行...
3. **注册热键**:使用`JIntellitype`提供的API来注册热键组合。例如,要设置Ctrl + S作为保存操作的热键,可以这样写: ```java JIntellitype.getInstance().registerHotKey(1, JIntellitype.MOD_CTRL, KeyEvent....
<!-- https://mvnrepository.com/artifact/com.melloware/jintellitype --> <groupId>com.melloware</groupId> <artifactId>jintellitype <version>1.3.9 </dependency>
描述中提到的“需要配合jar包使用”意味着JIntellitype的核心实现是在Java代码中,而DLL文件是这个实现的一部分,用于处理与Windows系统的交互。开发人员需要在项目中引入JIntellitype的jar包,并确保相应的DLL文件...
JIntelliType是一个Java库,它允许开发者在Java程序中注册并监听Windows系统的全局热键。 首先,我们需要引入JIntelliType库到项目中。这通常通过Maven或Gradle的依赖管理工具来完成,添加对应的依赖配置。如果手动...
JIntelliType就是为了解决这个问题而设计的,它允许开发者定义一组全局热键,无论应用程序是否在前台运行,都能触发相应的处理逻辑。 JIntelliType的核心功能包括: 1. **全局快捷键注册**:开发者可以使用...
JIntellitype64.dll
系统托盘需要的导入包 jintellitype-1.3.6.jar;系统托盘需要的导入包 jintellitype-1.3.6.jar;系统托盘需要的导入包 jintellitype-1.3.6.jar;系统托盘需要的导入包 jintellitype-1.3.6.jar
3. **注册热键**:使用JIntelliType的`KeyStroke`类来定义热键,然后调用`JIntelliType.getInstance().registerHotKey()`方法注册它: ```java KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F1, ...
jintellitype由两部分组成,一部分是java写的jintellityp的jar文件,另一部分是C/C 写的已编译好的dll文件,有两个dll文件,分别是32位和64位系统的。在我使用jintellitype的过程中,把jintellitype的jar文件Build进...
JIntellitype是用于与Microsoft Intellitype键盘命令进行交互以及在应用程序中注册Global Hotkeys的API。 该API是Java JNI库,它使用DLL与Windows进行所有通信。 该库仅适用于Windows。 您是否曾经想过让CTRL + ...
【注册热键】是计算机编程中的一个功能,允许程序在后台监听并响应用户定义的键盘组合,以此触发特定的操作或事件。在Windows操作系统中,这个功能通常通过使用WinAPI(Windows API)函数来实现,例如`...