¿Cómo uso C# o C++ el texto en el cuadro de texto de otra aplicación? Lo hice hace mucho tiempo y parecía recordar algo sobre el uso de las aplicaciones HWND. Pero desde ese cambio para cada instancia de la aplicación siento que no recuerdo la historia completa. ¿De alguna manera obtengo una lista de aplicaciones en ejecución, extraigo la que quiero, obtengo el HWND de eso y luego ... hmm ... entonces qué? :)Insertar texto en el cuadro de texto de otra aplicación
Respuesta
Uso FindWindowEx() para encontrar la manija (HWND) y luego enviar el mensaje usando WM_SETTEXTSendMessage()
Al usar FindWindowEx, primero deberá encontrar el identificador de la ventana principal utilizando su nombre de clase. Luego necesitará encontrar el identificador de cualquier contenedor en el que esté el cuadro de texto, llamando a FindWindowEx, pasando el identificador del padre (la ventana) y el nombre de clase del contenedor. Tendrá que repetir esto hasta que llegue al cuadro de texto. Puede usar una herramienta llamada Spy++ que está instalada de manera predeterminada con Visual Studio para inspeccionar la aplicación de destino y descubrir la jerarquía de contenedores (todos los objetos son realmente llamados ventanas en la API, pero los llamo contenedores en contraste con la parte superior ventana de nivel) con sus nombres de clase.
Entonces SendMessage(), WM_SETTEXT
puede utilizar la clase portapapeles para lograr el mismo
pero esto implicará usuario el manejo en lugar de la ejecución de código – RvdK
En lugar de orientar una aplicación específica, puede enviar las teclas al campo de texto.
private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
SendKeys.Send(send_text);
private void textBox1_TextChanged(object sender, EventArgs e)
{
send_text = textBox1.Text;
}
Agregue algunas explicaciones también – CodeWarrior
- 1. Insertar pestañas en un cuadro de texto
- 2. WPF: cuadro de texto Autocompletar, ... otra vez
- 3. Insertar texto en el cuadro de texto de WPF en la posición de intercalación
- 4. cómo insertar una imagen en un cuadro de texto
- 5. Cuadro de texto enriquecido cómo resaltar el bloque de texto
- 6. Jquery fadeout texto en un cuadro de texto y texto
- 7. texto fantasma - cómo tener en texto claro cuadro de texto
- 8. Cuadro de texto - centrado de texto
- 9. Agregar texto al principio en el cuadro de texto enriquecido
- 10. JQuery Texto predeterminado en el cuadro de texto vacío
- 11. ajuste de texto en el cuadro de
- 12. cómo activar un cuadro de texto si selecciono otra opción en el cuadro desplegable
- 13. cuadro de texto TextTrimming
- 14. Cuadro de texto árabe
- 15. Obtener el texto de asp: cuadro de texto
- 16. El uso de un cuadro de texto HTML en lugar de un cuadro de texto ASP.NET
- 17. foco en el cuadro de texto
- 18. Eliminar autocompletar en el cuadro de texto
- 19. Alineación vertical en WPF cuadro de texto
- 20. UITextView insertar texto en el texto de la vista de texto
- 21. Anular la selección de texto en un cuadro de texto
- 22. Seleccionar texto en un cuadro de texto deshabilitado en C#
- 23. Creando un cuadro de texto WPF Control como el cuadro de texto del destinatario de Outlook
- 24. Cómo copiar texto de Emacs a otra aplicación en Linux
- 25. Relleno de cuadro de texto
- 26. Wordpress - Insertar html/texto en el editor
- 27. Insertar texto automáticamente en vim
- 28. Insertar texto en el archivo existente
- 29. MVVM- ¿Cómo puedo seleccionar texto en un cuadro de texto?
- 30. Ctrl + C en un cuadro de texto
Además, puede que tenga que añadir una llamada a InvalidateRect como SendMessage lo cambiaría y me gustaría ver el valor de Winspector pero el valor en mi formulario se mantuvo igual , por lo que InvalidateRect causará el repintado –
¿Qué pasa si, la aplicación contiene más de un cuadro de texto y quiero leer los datos de un cuadro de texto específico. ¿Hay alguna manera de distinguir el controlador de cuadros de texto? – MK446