2011-03-05 14 views
5

¿Hay alguna manera de enviar pulsaciones de teclas a una ventana que no está actualmente seleccionada en C++? Por ejemplo, si tengo una ventana de bloc de notas minimizada y quiero que se escriba algo de texto sin poner la ventana al frente.¿Enviar texto/teclas a la ventana no seleccionada?

Estoy usando Windows 7 de 64 bits.

+0

Agregué la etiqueta "winapi". C++ no tiene ventanas; Windows tiene ventanas, y puede usar la API de Windows para manipularlas. –

Respuesta

4

La falsificación de datos es bastante difícil de lograr, en general, sin usar SendInput().

Sí, puedes probar PostMessage(), pero la respuesta de eznme es engañosa cuando habla de SendMessage. Como yo y otros parecemos decir muchas veces al día aquí, la entrada se publica en la cola de mensajes en lugar de enviarse a un identificador de ventana.

Dicho todo esto, si no quiere dar al foco de entrada de la ventana del Bloc de notas, entonces será difícil hacer que el texto se reproduzca por falsificación. La alternativa más simple que funciona mejor y es más fácil de usar, es encontrar el identificador de ventana de la ventana del Bloc de notas EDIT y usar WM_GETTEXT y WM_SETTEXT, por ejemplo, para modificar sus contenidos directamente.

De hecho, hay una enormous multitude of functionality available una vez que tenga esta ventana manejar a su merced!

Cuestiones relacionadas