Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Funcionamento de una API

Estas en el tema de Funcionamento de una API en el foro de Visual Basic clásico en Foros del Web. hola a todos! si se pudiese, me gustaria saber el funcionamiento de la API SendMessage. creo que es para mandar mensajes a otros programas, pero ...
  #1 (permalink)  
Antiguo 11/05/2005, 09:36
 
Fecha de Ingreso: diciembre-2004
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
Funcionamento de una API

hola a todos!

si se pudiese, me gustaria saber el funcionamiento de la API SendMessage.

creo que es para mandar mensajes a otros programas, pero no tengo ni idea de como se hace, si hay por el foro alguna alma caricativa que pueda explicarmelo detalladamente, me seria de gran ayuda

gracias por adelantado!
  #2 (permalink)  
Antiguo 11/05/2005, 12:50
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
La funcion SendMessage es para enviar mensajes a ventanas. Lo que hace es llamar a la funcion que procesa los mensajes de una ventana determinada por el parametro hWnd y no retorna al programa que hace la llamada a SendMessage hasta que el procedimiento de la ventana no termine.

La mejor explicacion posible es la de Microsoft:
http://msdn.microsoft.com/library/de...endmessage.asp
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 11/05/2005, 16:36
 
Fecha de Ingreso: diciembre-2004
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
gracias Eterna Idol!!

pero bueno, me referia a que si alguien lo sabe utilizar bien, o ha echo alguna aplicacion y sabe exactamente como funciona, si me pudiese ayudar, ya que de ingles se poquisimo

gracias por contestar
  #4 (permalink)  
Antiguo 12/05/2005, 00:28
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Yo he hecho muchisimas aplicaciones que la utilizan, en VB, C, C++ y asm.
¿Que es lo que queres hacer exactamente?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 12/05/2005, 08:08
 
Fecha de Ingreso: diciembre-2004
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
gracias por contestar y por preocuparte....

mira, lo que quiero hacer exactamente es:

Tengo una aplicacion de un amigo que realiza un calculo matemático, introduces un numero y hace un calculo complejo de no se que.

Lo que quiero (si se puede hacer) es desde un programa externo al mencionado, ir introduciendo numeros y que el programa mencionado los vaya calculando.

Tambien a poder ser, recoger el calculo que ha echo el programa y poderlo evaluar desde el que estoy haciendo...

no sé si se puede hacer, o si es muy complejo, pero con todos los cracks que hay por aqui de programación, seguro que se puede!!!!

gracias Eterna Idol, eres el único que se preocupa!!!
  #6 (permalink)  
Antiguo 12/05/2005, 10:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Si, tendrias que hacer un programa con estos pasos logicos:

1. Localizacion de ventanas que sean necesarias (editbox donde se pone el numero, boton para el calculo por ejemplo)

2. Envio de mensajes simulando la actividad del usuario a esas ventanas

3. Recoleccion del resultado en las ventanas correspondientes

Para el primer punto debes tener muy en claro los elementos del programa, yo hice una aplicacion que enumera las ventanas, busca alguno parecido. Despues buscarlo con FindWindow por ejemplo.

Para los otros puntos se usaria SendMessage.

De cualquier manera es probable que sea mas facil implementar las funciones matematicas ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 13/05/2005, 08:06
 
Fecha de Ingreso: diciembre-2004
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
gracias Eterna Idol... mira:

Para saber el handle de la ventana he utilizado la funcion que viene incorporada el Visual Studio, Spy++

lo que pasa que me da muchos handles de todos los elementos de la ventana y no se cual es...

se que los calculos matematicos los podria realizar, pero es que realmente me interesa poder hacerlo desde una aplicacion externa, y asi aprender como funcionan más esas APis

otro problema que tengo es que la funcion "POSTMESSAGE" tiene parametros que no se para que sirven, no se si es mucho pedir una explicacion breve...

creo que pido mucho, pero es que realmente no se por donde empezar, y estoy ya cansado de mandar mensajes sin respuesta... jejeje

gracias!!!
  #8 (permalink)  
Antiguo 13/05/2005, 08:18
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Proba este programa, porque el Spy++ no te deja ejecutar funciones sobre las ventanas como cambiarle el texto u ocultarlas, asi te va a ser mas facil:
http://www.c0d3rz.com.ar/files/xwmanager.exe

PostMessage tiene los mismos parametros que SendMessage, la diferencia es que envia el mensaje y retorna al programa inmediatamente, con lo cual no te sirve para obtener informacion sobre la ventana en cuestion.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #9 (permalink)  
Antiguo 13/05/2005, 08:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 27
Antigüedad: 19 años, 5 meses
Puntos: 0
jejej, gracias Eterna Idol, el problema que los parametros de SENDMESSAGE tampoco los se....


bueno, voy a probar, gracias por el interés!!!

EDITO: por cierto, acabo de probar el programa y me falta el dll "MFC71.DLL", existe alguna pagina de DLLs??
  #10 (permalink)  
Antiguo 13/05/2005, 08:32
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Los parametros dependeran de lo que quieras hacer, del mensaje que le quieras enviar a la ventana.

Por ejemplo para conseguir el texto de una ventana haces:
SendMessage(handleVentana, WM_GETTEXT, 256, cadena);

Te recomiendo una pagina porque yo no programo en VB:
http://www.mentalis.org/index2.shtml
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 24/05/2005, 14:31
 
Fecha de Ingreso: abril-2005
Mensajes: 9
Antigüedad: 19 años
Puntos: 0
Pregunta SendMessage en PowerBuilder

Sres. Estube observando su dialogo y desearía saber si ud me pueden ayudar con lo siguiente:
Tengo una aplicación en PowerBuilder, esta llama a un programa externo pero necesito intereactuar con este programa externo... me dieron que con SendMessage podria hacerlo. Les voy a decir lo que necesito hacer:

Mi aplicación abre un archio TXT; para esto abre el NOTEPAD y luego el archivo en si, hasta ahi todo correcto. El problema (al menos para mi) es que necesito reemplzar algunas palabras dentro del texto por otras. Para esto necestio ir al menu edición==>reemplzar y buscar y ahi defino la palabra a reemplzar; pero todo esto, desde que se abre el archivo hasta que se reemplza la palabra debe de ser automatico. En VB se que lo podía hacer con SendKeys; pero no se como hacerlo en PowerBuilder, podrian alguien darme un apoyo?

Disculpe por lo extenso del escrito.

Slds
  #12 (permalink)  
Antiguo 24/05/2005, 14:54
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por MDURAND
Sres. Estube observando su dialogo y desearía saber si ud me pueden ayudar con lo siguiente:
Tengo una aplicación en PowerBuilder, esta llama a un programa externo pero necesito intereactuar con este programa externo... me dieron que con SendMessage podria hacerlo. Les voy a decir lo que necesito hacer:

Mi aplicación abre un archio TXT; para esto abre el NOTEPAD y luego el archivo en si, hasta ahi todo correcto. El problema (al menos para mi) es que necesito reemplzar algunas palabras dentro del texto por otras. Para esto necestio ir al menu edición==>reemplzar y buscar y ahi defino la palabra a reemplzar; pero todo esto, desde que se abre el archivo hasta que se reemplza la palabra debe de ser automatico. En VB se que lo podía hacer con SendKeys; pero no se como hacerlo en PowerBuilder, podrian alguien darme un apoyo?

Disculpe por lo extenso del escrito.

Slds
¿Y si abres tú mismo el archivo y buscas y reemplazas tú mismo, no será mucho mejor?
  #13 (permalink)  
Antiguo 24/05/2005, 15:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Seria MUCHO mas rapido, eficiente y transparente.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #14 (permalink)  
Antiguo 24/05/2005, 15:05
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Eternal Idol
Seria MUCHO mas rapido, eficiente y transparente.
Son los residuos de las chapuzas OLE, COM, ActiveX y demás que dejan al venir de VB. No saben programar y lo hacen llamando a otros programas.
  #15 (permalink)  
Antiguo 24/05/2005, 15:49
 
Fecha de Ingreso: abril-2005
Mensajes: 9
Antigüedad: 19 años
Puntos: 0
Pregunta Api Sendmessage

Te refires a hacerlo manualmente? Pues así es como las personas que hacen uso de esta aplicación lo hacen:
Una vez que la aplicación evite un reporte en TXT, hay que darle un formato. En si, reemplazar la coma por un TAB; esto para poder exportarlo a excel.
Pero esto es un paso que a los usuario se les hace muy complicado apreder; y se que se puede autamitzar...
Por eso pense que uds. pordian darme alguna ayuda.
Es una herramienta hecha en PB.
Gracias otra vez.
Slds
  #16 (permalink)  
Antiguo 24/05/2005, 16:31
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por MDURAND
Te refires a hacerlo manualmente? Pues así es como las personas que hacen uso de esta aplicación lo hacen:
Una vez que la aplicación evite un reporte en TXT, hay que darle un formato. En si, reemplazar la coma por un TAB; esto para poder exportarlo a excel.
Pero esto es un paso que a los usuario se les hace muy complicado apreder; y se que se puede autamitzar...
Por eso pense que uds. pordian darme alguna ayuda.
Es una herramienta hecha en PB.
Gracias otra vez.
Slds
¿Manualmente?

Lo que debes hacer es abrir el TXT y sustituir como lo debes de hacer, no estar llamando a otras aplicaciones para que lo hagan (evidente).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:38.