Как запретить другим приложениям с правами администратора отключать хуки, зарегистрированные через JNativeHook?

У меня есть приложение Java, работающее в Windows, которое регистрирует перехват мыши и клавиатуры через API JNativeHook ( https://github.com/kwhat/jnativehook). Моя проблема в том, что они отключаются внешним приложением с правами администратора.

Я выполнил множество отладок, и приложение может делать это только с правами администратора, и мне нужно, чтобы приложение работало с администратором и мышью для совместной работы. Я обнаружил, что если 2 приложения имеют права администратора, они оба не могут отключить хуки друг друга, что идеально, но для меня это не так.

Я могу думать только о 2 способах решения этой проблемы, оба из которых я не знаю, как это сделать:

  • Найдите способ запустить Java в администраторе (вероятно, не будет работать)
  • Найти / создать метод в JNativeHook, чтобы заставить администраторов перехватывать принудительно

        GlobalScreen.registerNativeHook();
        GlobalScreen.addNativeMouseListener(new MouseListener());
        GlobalScreen.addNativeKeyListener(new KeyListener());
    

MouseListener и KeyListener - это два разных класса, которые обрабатывают события мыши и клавиатуры (не имеет отношения к проблеме, но я подумал, что я их добавлю).

Как я могу предотвратить отключение хуков JNativeHook во время работы внешнего приложения?

0 ответов

Другие вопросы по тегам