2

GitHub 上的 BridJ 存储库中有一个名为TaskbarListDemo.java的示例。当我尝试使用从 Maven(版本 0.7.0)下载的.jar 库Pointer.pointerToAddress(long peer)在 Netbeans 中编译时,不推荐使用此示例中第 100 行中使用的方法。

在这种情况下使用的正确方法是什么?该文档没有对此进行任何解释。有这些选项可用(不标记为已弃用):

public static <P> Pointer<P> pointerToAddress(long peer, PointerIO<P> io)
public static <P> Pointer<P> pointerToAddress(long peer, Class<P> targetClass, Pointer.Releaser releaser)
public static <P> Pointer<P> pointerToAddress(long peer, Type targetType, Pointer.Releaser releaser)
public static Pointer<?> pointerToAddress(long peer, long size, Pointer.Releaser releaser)
public static <P> Pointer<P> pointerToAddress(long peer, long size, PointerIO<P> io, Pointer.Releaser releaser)

非常感谢!

4

1 回答 1

1

免责声明:我真的不知道这个解决方案是否漂亮,但它有效并且解决了“不推荐使用”的问题:

Releaser nopReleaser = new Releaser() {
    @Override
    public void release(Pointer<?> pointer) {
        // NOP
    }
};
hwnd = Pointer.pointerToAddress(hwndVal, Integer.class, nopReleaser);
于 2016-05-11T00:39:11.477 回答