Как запретить другим приложениям с правами администратора отключать хуки, зарегистрированные через 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 во время работы внешнего приложения?