【发布时间】:2017-02-17 12:07:43
【问题描述】:
我正在尝试使用 JIntellitype 来收听全局热键,但出现此错误:
线程“main”中的异常 com.melloware.jintellitype.JIntellitypeException:无法加载 来自本地文件系统或 JAR 内部的 JIntellitype.dll com.melloware.jintellitype.JIntellitype.(JIntellitype.java:114) 在 com.melloware.jintellitype.JIntellitype.getInstance(JIntellitype.java:177) 在 utils.HotKey.(HotKey.java:19) 在 ui.Main.Catch_Hotkeys(Main.java:78) 在 ui.Main.(Main.java:20) 在 ui.Main.main(Main.java:15) 引起:java.io.IOException: FromJarToFileSystem 无法加载 DLL: com/melloware/jintellitype/JIntellitype.dll 在 com.melloware.jintellitype.JIntellitype.fromJarToFs(JIntellitype.java:150) 在 com.melloware.jintellitype.JIntellitype.(JIntellitype.java:105) ... 5 更多原因:java.lang.NullPointerException at com.melloware.jintellitype.JIntellitype.fromJarToFs(JIntellitype.java:146) ... 6 更多
我已经加载了 jar 文件,并且我还通过引用的库指向了 dll 所在的文件夹。
这是我要运行的代码:
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.IntellitypeListener;
import com.melloware.jintellitype.JIntellitype;
public class HotKey extends Thread implements HotkeyListener, IntellitypeListener {
private final int CTRL_C_SHIFT = 10;
public HotKey()
{
JIntellitype.getInstance().unregisterHotKey(CTRL_C_SHIFT);
JIntellitype.getInstance().registerHotKey(CTRL_C_SHIFT, JIntellitype.MOD_CONTROL + (int)'C', JIntellitype.MOD_SHIFT);
if (!JIntellitype.isJIntellitypeSupported())
{
System.exit(1);
}
}
@Override
public void onIntellitype(int arg0)
{
}
@Override
public void onHotKey(int key)
{
if (key == CTRL_C_SHIFT)
{
System.out.println("smg");
}
}
}
知道如何解决这个问题吗?
【问题讨论】:
标签: java dll jintellitype