Java JNA:如何将整数 (int) 转换为 HHOOK?

Java JNA: How cast integer (int) to 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

}

谢谢。

你不能。

虽然在本机 Win32 中,各种句柄基本上是整数类型,但它们不是指针,也不是真正的索引,您不应该按照您尝试的方式暴力解开钩子。

无论如何,在 JNA 中,HHOOK 类型是一个对象,它没有 API 用于从类型中创建对象。

我不确定您要做什么,但您应该保存从 SetWindowsHookEx 收到的任何 HHOOK,并且只对这些对象调用 UnhookWindowsHookEx