Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2020
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Arrow Detour

Alguno podria ayudarme. Necesito aprender a hacer un detour a una funcion. Y no logro entender como hacerlo. En c++
Responder Con Cita
  #2  
Antiguo 06-03-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Demasiado genérica.
Tal vez deberías especificar un poco más.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 06-03-2020
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Desviar una función?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #4  
Antiguo 06-03-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Ñuño Martínez Ver Mensaje
¿Desviar una función?

Hay quien a hacer un Hook le llama hacer un "detour", pero por eso digo, que es muy genérico...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 06-03-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Imagino que quiere hacer un Hook a alguna API.

Si es así, aquí tiene un tutorial.


Saludos.
Responder Con Cita
  #6  
Antiguo 06-03-2020
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Neftali y escafandra. Uds 2 siempre responden y saben una banda. Hace muchos años no entraba al foro. No pude estudiar mas c++ por cuestiones de tiempo. Pero agradezco que se tomen las molestias de contestar.

Si, fue un poco generica la pregunta.

Desconocia que hacer un hook a una api era llamado detour por eso lo pregunte de esa manera. Porq buscando en inet hay poca info de "DETOUR" y le sumo que esta en ingles. Entonces se me complica mas.

Lo real que quiero hacer. Tengo una calculadora hecha por mi que solo suma. Tiene un boton para sumar. Lo que quiero es hacer otra aplicacion hacer un "Detour" a esa funcion y en vez de sumar. Que multiplique.

El fin de hacer eso. Es solamente aprender a hacerle ese hook como dicen uds. E ir jugando con el para aprender bien como funciona. Ahora revisaré la info que me dejaron. Y gracias por estar siempre en el foro ayudando.
Responder Con Cita
  #7  
Antiguo 06-03-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por FrianxD Ver Mensaje
...Lo real que quiero hacer. Tengo una calculadora hecha por mi que solo suma. Tiene un boton para sumar. Lo que quiero es hacer otra aplicacion hacer un "Detour" a esa funcion y en vez de sumar. Que multiplique...
Un Hook a la API significa a la API de Windows. Cambien podría hacerse a una función exportada de una dll o ejecutable. En el caso concreto de tu pregunta no lo puedes hacer puesto que no tienes forma de conocer un puntero a la función que quieres modificar. En este caso y tratándose de un código que estará asociado a un botón, es decir, ea un evento, es decir, a un mensaje windows, el camino no debe ir por un hook sino por un subclasing. Esto requiere localizar bien el mensaje asociado al botón suma, me refiero al mensaje windows.
Un subclasing es, básicamente, cambiar la función de tratamiento de mensajes de una ventana para controlarlo con nuestro nuevo código. sería algo parecido a un hook al WindowProc asociado a la ventana.

Saludos.
Responder Con Cita
  #8  
Antiguo 06-03-2020
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
Estaba mirando un poco la info que me dejaste, y es justo lo que quería hacer, ese trampolín,




voy a ver si intento en vez de con mi app, con algún juego 2d o algo parecido, para probar.

De todas formas mirando el código que dejaste en C, poco entiendo, mis conocimientos son básicos y por eso voy preguntando y probando para aprender.

No se como tenes tanta info en la cabeza y esa habilidad de pasar codigo de lenguaje a lenguaje, pero es admirable, de nuevo gracias. Y bueno estudiaré el codigo hasta que salga algo.
Responder Con Cita
  #9  
Antiguo 06-03-2020
FrianxD FrianxD is offline
Miembro
 
Registrado: dic 2007
Posts: 65
Poder: 17
FrianxD Va por buen camino
No se cual es el problema que tengo cuando intento compilar.

Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido
Error C2665 'InstallHook': ninguna de las 2 sobrecargas pudo convertir todos los tipos de argumento
Responder Con Cita
  #10  
Antiguo 07-03-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por FrianxD Ver Mensaje
No se cual es el problema que tengo cuando intento compilar.

Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido
Error C2665 'InstallHook': ninguna de las 2 sobrecargas pudo convertir todos los tipos de argumento
Descarga el proyecto hookdll Lo escribí en Builder5

Cuando tenga un rato lo compilo en Berlin.

Saludos.
Responder Con Cita
  #11  
Antiguo 07-03-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
He compilado el proyecto en Berlín y he hecho pequeños cambios que van encaminados al escabroso uso del Unicode. El enlace de descarga lo tienes aquí.



Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:14:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi