Cómo simular la tecla Tab del teclado en VC++ (usando el método SendInput)
clase SKeyboardInput {? // KEYBDINPUT privado: ENTRADA m_keyboard; público: SKeyboardInput( int iScanCode, bool bDown = TRUE, int iTime = 0 ):m_keyboard() {
m_keyboard. tipo = INPUT_KEYBOARD ;
m_keyboard.ki.wScan = iScanCode ;
m_keyboard.ki.dwFlags = KEYEVENTF_SCANCODE | (bDown ?0 : KEYEVENTF_KEYUP) ;
m_keyboard .ki.time = iTime ;
m_keyboard.ki.dwExtraInfo = 0 ; público: DWORD scan() const {
return m_keyboard.ki.wScan } DWORD time(); const {
return m_keyboard.ki.time ; } público: int Enviar( ) const {
if( m _keyboard.ki.time )? Dormir( m_keyboard.ki.time ) ;
SendInput( 1, const_cast
return 0 } } ;
Extracto de lo que encontré escribió no hace mucho Un programa escrito
ligeramente encapsulado en una clase,
usado:
SKeyboardInput input( 15, TRUE, 100 ); = 15 (tab) presionar, retrasar 100
SKeyboardInput input2( 15, FALSE, 200 ); // Código de escaneo = 15(tab) Soltar, retrasar 200
input.Send( ) ;
input2.Send()
Aquí estamos usando códigos escaneados, puede usar MapVirtualKey() para convertir entre claves virtuales escaneadas.