Отключение клавиатуры и мыши - PullRequest
4 голосов
/ 10 февраля 2012

Я новичок в JNA, и у меня есть этот код, который должен блокировать ввод, вызывая файл dll в win7.Но когда я запускаю этот код, ничего не происходит.Нет ошибки компиляции, и я не могу понять, почему она не блокирует мою клавиатуру и мышь.Пожалуйста, ведите меня.

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 ]

2 голосов
/ 10 февраля 2012

Если вы работаете в Windows Vista или Windows 7, вам может потребоваться запустить программу от имени администратора. Создайте командный файл, который запускает ваш класс Java, чтобы упростить процесс.

0 голосов
/ 06 февраля 2014

Try This - Native Global слушатели клавиатуры и мыши для Java. JNativeHook

...