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 на этих объектах.

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