Как мне отправить shift + down, используя winapi c ++? - PullRequest
0 голосов
/ 20 сентября 2018

Используя следующий код

Sleep(3000);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

Я ожидаю, что окна выберут строку текста, если я помещаю курсор в редактор во время сна (следовательно, это окно переднего плана)

Однакоэто просто перемещает курсор вниз по линии.

Использование следующих работ, но, конечно, это не тот способ, которым это должно быть сделано.

Sleep(3000);
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP | KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

Это появляется при использовании флага KEYEVENTF_EXTENDEDKEY Iможет удерживать нажатой клавишу со стрелкой.Но как бы я ни пытался выпустить, это не сработает.Но я могу нажать и отпустить его, чтобы очистить удерживаемую клавишу Shift.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...