Java JNA: Как привести целое число (int) к HHOOK?
Я хочу отцепить все сообщения перехвата (кольцо 3) и не в состоянии, потому что в Java кажется, что не возможно приведение из int
за HHOOK
тип.
Кто-то знает, как решить это?
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.User32;
public static void main(String[] args) {
final User32 lib = User32.INSTANCE;
for(int i = 9999999; i >= 0; i--)
lib.UnhookWindowsHookEx((HHOOK(i)); // Here is the trouble
}
Спасибо.
1 ответ
Решение
Ты не можешь
Хотя в родном Win32 различные дескрипторы в основном являются целочисленными, они не являются указателями и на самом деле не являются индексами, и вы не должны грубой силой отцеплять так, как вы пытаетесь это сделать.
В любом случае в JNA тип HHOOK является объектом, и у него нет API для его создания из типа in.
Я не уверен, что вы пытаетесь сделать, но вы должны сохранить любой HHOOK, который вы получаете от SetWindowsHookEx
и только звонок UnhookWindowsHookEx
на этих объектах.