![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Como ejecutar algo en otra aplicacion...
El tema es asi...(voy progresando) luego de poder captar cuando una tecla se presione en una ventana distinta necesito saber como hacer para que por ejemplo se ejecute alguna accion , por ejemplo "ENter luego escribir algo luego enter"
Como cuando se hace en una consola. Bueno espero algo de ayuda.. Gracias |
|
#2
|
|||
|
|||
|
Procedure Keyboard(hWin:THandle;sCad:String);
//Envia pulsaciones a una ventana //hWIn: Handle de la ventana. sCad: Texto a enviar. //Atención: El ALT se envia con el porcentaje (Alt+A =%A) //El Intro, se envía con la almohadilla # Ese procedimiento creo que necesito, pero esta en el Pack del Club de delphi ? que tengo que pagar ???? Plz ayuda |
|
#3
|
||||
|
||||
|
Anexé los mensajes que pusiste en el nuevo hilo a este. Por favor no abras nuevos hilos para la misma duda.
En cuanto al problema te voy a dar una idea para empezar. De alguna manera debes establecer un canal de comunicación entre el hook y el resto de tu aplicación. Vamos a suponer que tienes un Memo en tu formulario principal en donde quieres mostrar los mensajes. En la unidad donde implementas el hook declara una variable
En algún momento antes de instalar el hook (antes de SetHook) asignas el Memo de tu formulario principal a esta variable. De esta forma el hook podrá colocar datos directamente en el Memo. // Saludos |
|
#4
|
|||
|
|||
|
Claro, eso si tubiese un memo...pero en donde se va a escribir es en una consola de una aplicacion a la cual no hay forma de acceder (en codigo fuente) solo por teclado. Hasta a¡hora he conseguido obtener la ventana activa donde se ha generado el evento del teclado y de esta forma segun ese Procedure que vi podria enviarle un conjunto de eventos de teclado , pero el tema que ese procedimiento no lo puedo encontrar, solo lo vi porque dice que viene en un cd.
Saludos |
|
#5
|
|||
|
|||
|
Bueno sigo prograsando, ahora he sustituido el hooks por el hotkeys de la api de windows para registrar teclas y poder capturarlas de cualquier aplicacion. El problema siegue siendo el mismo, y los enumero ...por favor ayuda plz :
1. Obtener el Handle de la ventana donde se produjo la tecla presionada. 2. Enviar a esa ventana una secuencia dee acciones EJemplo : (no se si con sendmesagge anda..porque no lo conozco) Segun HotKeyPresionada Hacer Acciones := Enter + String + Enter EnviarAccion(Ventana, Acciones) Bueno eso es lo que puedo sacar en claro pero por favor necesito ayuda.... ![]() |
|
#6
|
||||
|
||||
|
Cita:
Yo había entendidio que querías que tu aplicación detectara las teclas de cualquier parte para escribir mensajes en tu aplicación, lo cual se podía hacer perfectamente con el memo. Pero ahora sales con que deben escribirse en otra aplicación. Si te tomas un tiempo para explicar con más claridad entonces quizá podamos ayudarte. // Saludos |
|
#7
|
|||
|
|||
|
Es que cuando uno quiere ir a 1000 por hora se lleva todo por delante, siempre me pasa...disculpa ahora explico todo bien detallado ahora que he visto algunas cositas que me han ayudado.
Necesito hacer una aplicacion Delphi que realice lo siguiente: Detecte eventos de teclado de forma global y realize una accion segun la tecla pulsada en la ventana donde se pulso la tecla. Por ejemplo: Tengo mi aplicacion delphi corriendo y por otro lado ejecuto otro programa por ejemplo el notepad. Supongamos que tengo el notepad como ventana activa y pulso la tecla F8, entonces mi aplicacion debe capturar esa tecla y realizar una accion sobre el NOTEPAD por ejemplo escribir un texto o simular un conjunto de eventos de teclado por ejemplo "escribir algo y luego pulsar enter". De esta manera si pulsara F8 en el notepad abierto me escribiria algo y luego bajaria una linea. He investigado y se que windows maneja paquetes de mensajes a ventanas activas por medio del handle de la ventana pi, pero no tengo la mas minima idea de como realizar algo como lo que pretendo. El ejemplo mas simple al que puedo asemejar la aplicacion es a un macro de teclas. Pues bien como ves mi aplicacion solo detecta una tecla y realiza una accion en la ventana donde se registro la tecla pulsada. Pero esta ventana puede ser cualquier aplicacion Notepad, Telnet, etc. Espero haber explicado un poco mejor lo que pretendo. Saludos PD: Si es muy dificil que se realice la accion en la ventana en la que se pulso la tecla, entonces que no importe donde se pulso la tecla pero que se emule un conjunto de acciones de teclado en cualquier aplicacion o ventana que este activa. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|