我有一个在 Windows 上运行的 Java 应用程序,它通过 JNativeHook API ( https://github.com/kwhat/jnativehook ) 注册鼠标和键盘挂钩。我的问题是它们被具有管理员权限的外部应用程序禁用。
我已经完成了大量的调试,应用程序只能使用管理员权限执行此操作,我需要管理员和鼠标挂钩中的应用程序一起工作。我发现如果两个应用程序都具有管理员权限,它们都不能禁用彼此的钩子,这是完美的,但对我来说不是这样。
我只能想到两种解决此问题的方法,这两种方法我都不知道该怎么做:
- 找到一种在管理员中运行 Java 的方法(可能行不通)
在 JNativeHook 中查找/制作一个方法以强制执行钩子管理员
GlobalScreen.registerNativeHook(); GlobalScreen.addNativeMouseListener(new MouseListener()); GlobalScreen.addNativeKeyListener(new KeyListener());
MouseListener 和 KeyListener 是处理鼠标和键盘事件的两个不同的类(与问题无关,但我想我会把它扔进去)。
如何防止我的 JNativeHook 挂钩在外部应用程序运行时被禁用?