JNA在低级鼠标Proc回调中使用LParam

时间:2018-09-20 16:12:08

标签: java jna

我正在尝试使用JNA(或Java Native Access)在Java中使用低级鼠标挂钩监视鼠标事件,以检查LLMHF_INJECTED标志。我不知道如何像在c ++中那样将lparam指针强制转换为MSLLHOOKSTRUCT。这就是我当前的回调函数的样子。

LowLevelMouseProc LLMP = new LowLevelMouseProc() {
    public LRESULT callback(int nCode, WPARAM wParam, LPARAM lParam) {


        if (nCode >= 0){

        }

        Pointer ptr = lParam.toPointer();
        long peer = Pointer.nativeValue(ptr); 
        return User32.INSTANCE.CallNextHookEx(hook, nCode, wParam,new LPARAM(peer));
    }
};

我还在自己的类中概述了钩子结构,如下所示:

public class MSLLHOOKSTRUCT extends Structure{

public static class ByReference extends MSLLHOOKSTRUCT implements Structure.ByReference {};

    public POINT pt;
    public DWORD mouseData;
    public DWORD flags;
    public DWORD time;
    public ULONG_PTR dwExtraInfo;

    @Override
    protected List<String> getFieldOrder() {
        return null;
    }
}

我只需要知道如何将指针映射到MSLLHOOKSTRUCT

0 个答案:

没有答案