Comunicación entre dll y exe

03/11/2004 - 13:14 por Jorge A S | Informe spam
Buenas a todos, les comento lo que estoy tratando de hacer:
Tengo una aplicacion que utiliza un HOOK de teclado
cargado en una dll y necesito hacer lo siguiente:
Despues de analizar la cadena ingresada por teclado, de
acuerdo a su valor, necesito mostrar un mensaje en la
aplicacion y el problema esta en que desconozco como
realizar un evento en la aplicacion que se ejecute a
pedido de la dll (donde esta la funcion del hook).
Alguien sabe si se puede hacer esto y si se puede, tienen
algun ejemplo para ver ?
Espero que se haya entendido y desde ya les agradezco por
su tiempo

Preguntas similare

Leer las respuestas

#1 pablo crosio
04/11/2004 - 15:37 | Informe spam
hola!!

pues veo dificil que trabajes explicitamente sobre la aplicacion que estas
hookenado puesto que en teoria no tendrias acceso a su composicion
interna mas alla de informacion binaria

quizas lo que puedas hacer es luego de realizado el hook, activar una
aplicacion propia en la que mostrarias mensajes, etc etc etc un
funcionamiento similar al babylon

para pasar info a tu propia aplicacion deberias ver algo de
intercomunicacion entre procesos

salu2!!

pablo



"Jorge A S" escribió:

Buenas a todos, les comento lo que estoy tratando de hacer:
Tengo una aplicacion que utiliza un HOOK de teclado
cargado en una dll y necesito hacer lo siguiente:
Despues de analizar la cadena ingresada por teclado, de
acuerdo a su valor, necesito mostrar un mensaje en la
aplicacion y el problema esta en que desconozco como
realizar un evento en la aplicacion que se ejecute a
pedido de la dll (donde esta la funcion del hook).
Alguien sabe si se puede hacer esto y si se puede, tienen
algun ejemplo para ver ?
Espero que se haya entendido y desde ya les agradezco por
su tiempo


Respuesta Responder a este mensaje
#2 Rodrigo Corral [MVP]
04/11/2004 - 17:54 | Informe spam
Utiliza un callback. Basicamente pasale a la dll un puntero a una función
definida en tu exe. Cuando lo necesites llama a la función desde la dll
utilizando el puntero que ya tienes a ella.

El API de windows tiene algunas funciones que toman como parametrós punteros
a funciones para realizar el callback, por ejemplo la funcion EnumWindows,
tu la pasa puntero a la función que quieres que llame para cada ventana
encontrada.

Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#3 Rodrigo Corral [MVP]
05/11/2004 - 14:56 | Informe spam
Otra opción es usar los atributo event_source, event_receiver y las
instrucciones __event, __hook y __unhook si estas en VC++ 7.1
Mira Event Handling in Native C++

Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#4 Isidro Muñoz
25/11/2004 - 01:23 | Informe spam
Hola,

Si el .exe donde se introduce la cadena y el .exe que tiene que mostrar el
mensaje no son el mismo tienes que comunicar los dos procesos.

Puedes crear un Evento SetEvent y dejar el .exe del mensje en espera
hasta que se produzca el evento.
Puedes crear una ventana oculta en el .exe y espera un mensaje enviado con
SendMessage desde la dll.

Son algunas ideas.

Saludos.
Isidro

"Jorge A S" escribió en el mensaje
news:3a7c01c4c19e$ad6e7f70$
Buenas a todos, les comento lo que estoy tratando de hacer:
Tengo una aplicacion que utiliza un HOOK de teclado
cargado en una dll y necesito hacer lo siguiente:
Despues de analizar la cadena ingresada por teclado, de
acuerdo a su valor, necesito mostrar un mensaje en la
aplicacion y el problema esta en que desconozco como
realizar un evento en la aplicacion que se ejecute a
pedido de la dll (donde esta la funcion del hook).
Alguien sabe si se puede hacer esto y si se puede, tienen
algun ejemplo para ver ?
Espero que se haya entendido y desde ya les agradezco por
su tiempo

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida