java - 禁用键盘和鼠标

标签 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(访问被拒绝)。是否有任何可能的方法来获得访问权限,以便我可以让它工作?

最佳答案

如果您在 Windows Vista 或 Windows 7 上运行,您可能需要以管理员身份运行该程序。制作一个运行您的 Java 类的批处理文件,使事情变得更容易。

关于java - 禁用键盘和鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225724/

相关文章:

dll - GetProcAddress 找不到我的函数

multithreading - 从单个应用程序中的多个线程调用 dll 函数是否安全?

java - spring ntlmV2 不支持

java - 如何在Android中初始化菜单库

.net - 拥有多个 DLL 好还是单个大 DLL 好?

Java - JNA 和共享库,在 Linux 上从 .jar 启动时出现 UnsatisfiedLinkError

java - JNA - 带有 void* 参数的回调方法

java - SHAppBarMessage 和自动隐藏

java - 命令失败 : gradlew. bat installDebug

java - ActiveMQ持久化: some troubles with AMQ Message Store