Как я отправляю нажатия клавиш в окно, не имея необходимость активировать его с помощью Windows API?

Вы можете попробовать установить драйвер mongodb с помощью:

sudo apt-get install php-mongodb
25
задан SlipToFall 5 August 2009 в 00:21
поделиться

2 ответа

Хорошо, это немного разочаровывает, я уверен, но вы принципиально не можете сделать это со 100% надежностью.

Windows предполагает, что активное окно - это окно один получает ввод с клавиатуры. Правильный способ имитации ввода с клавиатуры - использовать SendInput , и вы заметите, что он отправляет сообщения только в активное окно.

При этом вы можете SendMessage WM_KEYUP , WM_CHAR и WM_KEYDOWN сообщений и (в зависимости от того, получает их WndProc), возможно, это сойдет с рук. Но помните, что его может выйти из строя при некоторых обстоятельствах, точка.

31
ответ дан 28 November 2019 в 07:29
поделиться

Похоже, вы используете keybd_event () или SendInput (), которые оба посылают нажатия клавиш в текущее активное окно. Чтобы направлять нажатия клавиш в конкретное окно, независимо от того, нацелена ли эта вдова или нет, вам сначала нужно найти ее дескриптор HWND, а затем публиковать в нее сообщения надлежащим образом отформатированного WM_KEYUP / DOWN и WM_CHAR.

6
ответ дан Remy Lebeau 28 November 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: