Java JNA: Как привести целое число (int) к HHOOK? - PullRequest
0 голосов
/ 17 ноября 2018

Я хочу отцепить все сообщения перехвата (кольцо 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 Ответ

0 голосов
/ 17 ноября 2018

Вы не можете.

Хотя в родном Win32 различные дескрипторы в основном являются целочисленными, они не являются указателями и на самом деле не являются индексами, и вы не должны грубой силой отцеплять, как пытаетесь.

В любом случае в JNA тип HHOOK является объектом, и у него нет API для его создания в типе.

Я не уверен, что вы пытаетесь сделать, но вы должны сохранить любой HHOOK, полученный от SetWindowsHookEx, и вызывать UnhookWindowsHookEx только для этих объектов.

...