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
。
我想解开所有挂钩消息(第 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
。