禁用键盘和鼠标

时间:2012-02-10 09:44:47

标签: java dll jna

我是JNA的新手,我有这个代码,它应该通过调用win7中的dll文件来阻止输入。但是,当我运行此代码时,没有任何反应。没有编译错误,我无法弄清楚为什么它不会阻止我的键盘和鼠标。请指导我。

public class BlockInput {
    public static void main(String[] args) {
        NativeLibrary lib = NativeLibrary.getInstance("user32");
        Function fun = lib.getFunction("BlockInput");
        System.out.println("Lib :" + lib + ".\nFun " + fun + ".");
        fun.invoke(new Object[]{Boolean.TRUE});
        try {
            Thread.sleep(10000);
        } catch(InterruptedException ie) {}
        lib.dispose();
    }
}

编辑:使用Native.getLastError();我开始知道访问dll文件的人我收到了错误5(拒绝访问)。是否有任何可能的方法来获取访问权限,以便我可以使其工作?

2 个答案:

答案 0 :(得分:2)

如果您在Windows Vista或Windows 7上运行,则可能需要以管理员身份运行该程序。创建一个运行Java类的批处理文件,以简化操作。

答案 1 :(得分:0)

试一试 - Java的Native Global键盘和鼠标监听器。 JNativeHook