Hola
Al enviar con SendInput una secuencia de letras mayúsculas y minúsculas mediante un bucle del siguiente código,
una secuencia como abcDEFghi se convierte en abcDEFGHI.
Parece que una vez que se simula la pulsación de una mayúscula, la tecla VK_SHIFT no se libera mediante el
KEYEVENTF_KEYUP.
No se que estoy haciendo mal, ¿alguien que me pueda ayudar?
Código Delphi
[-]aDatPul.Itype := INPUT_KEYBOARD;
aDatPul.ki.wScan := 0;
begin
aDatPul.ki.dwFlags := KEYEVENTF_EXTENDEDKEY;
aDatPul.ki.wVk := VK_LSHIFT;
SendInput( 1, &aDatPul, sizeof( aDatPul ) );
aDatPul.ki.dwFlags := 0;
aDatPul.ki.wVk := CodTec; SendInput( 1, &aDatPul, sizeof( aDatPul ) );
aDatPul.ki.dwFlags := KEYEVENTF_KEYUP;
aDatPul.ki.wVk := CodTec; SendInput( 1, &aDatPul, sizeof( aDatPul ) );
aDatPul.ki.dwFlags := KEYEVENTF_KEYUP and KEYEVENTF_EXTENDEDKEY;
aDatPul.ki.wVk := VK_LSHIFT;
SendInput( 1, &aDatPul, sizeof( aDatPul ) );
end
else
begin
aDatPul.ki.dwFlags := 0;
aDatPul.ki.wVk := CodTec; SendInput( 1, &aDatPul, sizeof( aDatPul ) );
aDatPul.ki.dwFlags := KEYEVENTF_KEYUP;
aDatPul.ki.wVk := CodTec; SendInput( 1, &aDatPul, sizeof( aDatPul ) );
end;
Gracias. Un saludo