11
Июн
2021

JNA/ Клик мышки в HWND

День добрый, столкнулся с проблемой отправки событий нажатия кнопок мыши в HWND процесс.

    public LPARAM makeLParam(int x, int y) {
        return new LPARAM((x & 0xffff) | (y & 0xffffL) << 16);
    }

    public void sendMouseKeyDown(HWND hwnd, int x, int y) {
        final LPARAM lparam = makeLParam(x, y);
        User32.INSTANCE.SendMessage(hwnd, 513, new WPARAM(0x0001), lparam);
    }

    public void sendMouseKeyUp(HWND hwnd, int x, int y) {
        final LPARAM lparam = makeLParam(x, y);
        User32.INSTANCE.SendMessage(hwnd, 514, new WPARAM(0x0001), lparam);
    }

513 - left key down event id 514 - left key up event id

Данный код не дает желаемого результата. Пробовал добавить паузу между действиями, так же не помогло. P.S. аналогичные события для клавиатуры работают прекрасно, для мышки - нет.

Источник: https://ru.stackoverflow.com/questions/1294138/jna-%D0%9A%D0%BB%D0%B8%D0%BA-%D0%BC%D1%8B%D1%88%D0%BA%D0%B8-%D0%B2-hwnd

Тебе может это понравится...

Добавить комментарий