Como faço para enviar shift + para baixo usando winapi c ++?

votos
1

Usando o seguinte código

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);

Espero janelas para selecionar uma linha de texto se eu colocar o meu cursor em um editor durante o sono (e assim é janela em primeiro plano)

No entanto, isto só se move o cursor para baixo uma linha.

Usando as seguintes obras, mas certamente esta não é a maneira seu suposto ser feito.

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);

Parece usando o sinalizador KEYEVENTF_EXTENDEDKEY posso segurá-lo para a chave de seta. Mas não importa o quanto eu tente liberar ele não funciona. Mas eu posso pressionar e soltar-lo normalmente para limpar a tecla shift realizada.

Publicado 20/09/2018 em 04:16
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more