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

Leer LABEL de un programa externo. *Vb6*

Estas en el tema de Leer LABEL de un programa externo. *Vb6* en el foro de Visual Basic clásico en Foros del Web. Primero que todo quisiera saber si lo que voy a comentar a continuaciòn es posible y de ser asi que me den una pista de ...
  #1 (permalink)  
Antiguo 18/08/2008, 18:24
Avatar de Secret0n  
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Leer LABEL de un programa externo. *Vb6*

Primero que todo quisiera saber si lo que voy a comentar a continuaciòn es posible y de ser asi que me den una pista de como hacerlo o al menos cuentenme como se les ocurre que se podria hacer. Muchas gracias.

------
Lo que yo quiero hacer es, con una aplicaciòn en visual basic, poder leer el contenido de un label de OTRO PROGRAMA HECHO EN VB6.
Ejemplo: tengo un programa muy simple programado en vb6 que muestra la hora en un label y no tengo su codigo de fuente. Pero yo quiero saber cuando son las 12:00, entonces nesesito que mi otro programa (el cual voy a hacer yo mismo en vb6) pueda leer cada xxx segundos (podria usar un timer) el contenido del label que se encuentra en xx posicion de la pantalla (tendria que indicar en el codigo cual seria la posicion) y finalmente, si dice 12:00, avisarme de la forma que sea.
------
Atenciòn:
No tengo el codigo de fuente de la aplicaciòn que contiene al label pero puedo saber el caption del form y el nombre del label.

Como ya dije antes, no soy de esos que quieren el codigo en bandeja, con una pista de como se podria hacer ya me basta .

Muchisimas gracias y exitos para todos!

Saludos
  #2 (permalink)  
Antiguo 18/08/2008, 19:36
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

hola, no se como pudieras obtener el caption de ese label si se como lo pudieras hacer por ejemplo posicionando el mouse encima de el, pero eso no te sirve para tu proposito, si te sirve de algo puedo ponerte el codigo para mostrar la hora con formato
Format(Now, "hh:mm:ss")
hh = horas
mm = minutos
ss = segundos
dd= dias
mm = mes
yy = año

Puedes ponerlos en el orden que se te ocurra
Por ejemplo
Format(Now, "hh:mm:ss dd:mm:yy")
si enves de poner dd pones dddd te escribe el dia enves del numero de dia
igual con los otros


si lo que quieres es saver como comunicar programas, solo se como hacerlo en linux
pero con c++, disculpa si no es lo que buscabas

Última edición por Fayca; 18/08/2008 a las 19:37 Razón: se formateo mal el texto
  #3 (permalink)  
Antiguo 18/08/2008, 19:40
Avatar de Secret0n  
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Leer LABEL de un programa externo. *Vb6*

Cita:
Iniciado por Fayca Ver Mensaje
hola, no se como pudieras obtener el caption de ese label si se como lo pudieras hacer por ejemplo posicionando el mouse encima de el, pero eso no te sirve para tu proposito, si te sirve de algo puedo ponerte el codigo para mostrar la hora con formato
Format(Now, "hh:mm:ss")
hh = horas
mm = minutos
ss = segundos
dd= dias
mm = mes
yy = año

Puedes ponerlos en el orden que se te ocurra
Por ejemplo
Format(Now, "hh:mm:ss dd:mm:yy")
si enves de poner dd pones dddd te escribe el dia enves del numero de dia
igual con los otros


si lo que quieres es saver como comunicar programas, solo se como hacerlo en linux
pero con c++, disculpa si no es lo que buscabas
Primero que nada gracias por responder.
Mira lo que puse de la hora es un ejemplo para que entendieran lo que queria hacer pero lo que nesesito en si no tiene nada que ver con la hora ni la fecha.

Y una cosa, tambien estoy dispuesto a trabajar en c++..¿Vos crees que en c++ es posible hacer esto?

Saludos y gracias!
  #4 (permalink)  
Antiguo 18/08/2008, 20:36
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

Mira te dejo el enlase hacia un programa que llama Win Hack,
es open source en visual basic 6.0
la descripcion del programa la puedes ver en el enlaze.

lo que se me ocurre que puedes hacer, es obtener la direccion del label posisionando el mouse ensima,
despues de eso lla tienes la direccion solo actualisas su informacion, y la otra pero que no te serviria si no tienes el codigo fuente de otro programa, es comunicando los prosesos de ambos programas enviandose la informacion.
  #5 (permalink)  
Antiguo 18/08/2008, 20:41
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

Cita:
Iniciado por Secret0n Ver Mensaje
Y una cosa, tambien estoy dispuesto a trabajar en c++..¿Vos crees que en c++ es posible hacer esto?
en c++ es posible hacer lo que se te ocurra, Linux esta en c, c++ es una mejora del lenguaje c.
pero si solo te interesa lo programacion bajo windos no creeo que tenga sentido que aprendas c++ porque para un programa de escritorio lo haces con visual basic en menos tiempo y puedes hacer esactamente lo mismo que con c++, a esepsion de drivers y esas cosas pero estamos hablando de programas de escritorio no de aplicaciones de bajo nivel, eso si con c++ ganas muchisima mas rapideza y estabilidad de tus programas que con visual basic
  #6 (permalink)  
Antiguo 18/08/2008, 21:06
Avatar de Secret0n  
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Leer LABEL de un programa externo. *Vb6*

Cita:
Iniciado por Fayca Ver Mensaje
Mira te dejo el enlase hacia un programa que llama Win Hack,
es open source en visual basic 6.0
la descripcion del programa la puedes ver en el enlaze.

lo que se me ocurre que puedes hacer, es obtener la direccion del label posisionando el mouse ensima,
despues de eso lla tienes la direccion solo actualisas su informacion, y la otra pero que no te serviria si no tienes el codigo fuente de otro programa, es comunicando los prosesos de ambos programas enviandose la informacion.
Cita:
Iniciado por Fayca Ver Mensaje
en c++ es posible hacer lo que se te ocurra, Linux esta en c, c++ es una mejora del lenguaje c.
pero si solo te interesa lo programacion bajo windos no creeo que tenga sentido que aprendas c++ porque para un programa de escritorio lo haces con visual basic en menos tiempo y puedes hacer esactamente lo mismo que con c++, a esepsion de drivers y esas cosas pero estamos hablando de programas de escritorio no de aplicaciones de bajo nivel, eso si con c++ ganas muchisima mas rapideza y estabilidad de tus programas que con visual basic
Muchas gracias por seguir respondiendo!

Queria decirte que el programa que me pasaste me fue bastante util. Desgraciadamente no identifica el texto de los labels del programa ya que enrealidad no tienen texto sino que se carga desde el codigo cuando se inicia el programa.
Igualmente mas tarde voy a revisar el codigo del Win Hack a fondo aver si encuentro alguna forma de leer estos labels que me estan volviendo loco .

Denuevo muchas gracias y saludos para todos!
  #7 (permalink)  
Antiguo 18/08/2008, 21:38
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

Se supone que deveria de poder mostrar cualquier texto en la pantalla
incluso en donde ingresas contraseñas que son tapadas con *******
el programa te deveria mostrar el texto real,

de nada, igual saludos
  #8 (permalink)  
Antiguo 19/08/2008, 06:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Leer LABEL de un programa externo. *Vb6*

Aún no he visto el código fuente del programa. Pero lo más probable es que use la API (GetWindowText). Para hacer algo parecido, solo necesitarás obtener la clase de la ventana y buscar su hWnd con FindWindow y FindWindowEx para los controles dentro de la ventana.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 19/08/2008, 07:06
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Leer LABEL de un programa externo. *Vb6*

Si usas VB como dice David con las funciones dle api para obtener los controles en base al windows handler. Pero para hacer una ubicacion precisa del control usa Spy++ para poder checar el id' del control del proceso y los mensajes que requieras.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 19/08/2008, 11:25
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

hola talbes dire algo muy tonto si es asi saquenme de mi error
hWnd, no es cambiante?
y eso no sirviera si ya tiene una ventana fija y si depronto quiere
ejecutar su programa en otro equipi no le serviria
  #11 (permalink)  
Antiguo 19/08/2008, 11:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Leer LABEL de un programa externo. *Vb6*

Claro que el hWnd cambia cada vez que se crea la ventana, la idea es obtener el hWnd con FindWindow.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 19/08/2008, 11:31
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

o, si eso es cierto gracias, disculpa tengo mucho sin tocar un windows.
  #13 (permalink)  
Antiguo 19/08/2008, 15:48
Avatar de Secret0n  
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Leer LABEL de un programa externo. *Vb6*

Cita:
Iniciado por Fayca Ver Mensaje
Se supone que deveria de poder mostrar cualquier texto en la pantalla
incluso en donde ingresas contraseñas que son tapadas con *******
el programa te deveria mostrar el texto real,

de nada, igual saludos
Cita:
Iniciado por David el Grande Ver Mensaje
Aún no he visto el código fuente del programa. Pero lo más probable es que use la API (GetWindowText). Para hacer algo parecido, solo necesitarás obtener la clase de la ventana y buscar su hWnd con FindWindow y FindWindowEx para los controles dentro de la ventana.
Cita:
Iniciado por Fayca Ver Mensaje
hola talbes dire algo muy tonto si es asi saquenme de mi error
hWnd, no es cambiante?
y eso no sirviera si ya tiene una ventana fija y si depronto quiere
ejecutar su programa en otro equipi no le serviria
Cita:
Iniciado por David el Grande Ver Mensaje
Claro que el hWnd cambia cada vez que se crea la ventana, la idea es obtener el hWnd con FindWindow.
Bueno muchas gracias a todos por responder!

Por ahora voy a buscar informaciòn sobre la API GetWindowText aver si me sirve e intentare seguir el procedimiento que me indico David el Grande .

Cita:
Iniciado por Peterpay Ver Mensaje
Pero para hacer una ubicacion precisa del control usa Spy++ para poder checar el id' del control del proceso y los mensajes que requieras.
Ademas voy a averiguar sobre el Spy++ porque posiblemente tambien me sirva!

Gracias y exitos!
  #14 (permalink)  
Antiguo 19/08/2008, 18:34
Avatar de Secret0n  
Fecha de Ingreso: agosto-2008
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Leer LABEL de un programa externo. *Vb6*

Luego de varias pruebas lamento decir que sigo sin ninguna soluciòn .
Las funciones que me pasaron o el Spy++ detectan perfectamente cual es el caption de mis labels pero el problema es que los labels no tienen caption o tienen: " ".
En este programa el caption de los labels se carga cuando se inicia el programa.
Ejemplo:
Cita:
Private Sub Form_Load()
Label.Caption = "hola"
End Sub
Pero logicamente en propiedades figura esto:

Entonces las funciones API que me pasaron no sirven para mi proposito!

Creo que lo que nesesito es alguna forma de "leer" mis labels como un texto en la pantalla y no como el caption de un componente de vb6.

Saludos y exitos para todo el mundo!
  #15 (permalink)  
Antiguo 19/08/2008, 19:31
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Leer LABEL de un programa externo. *Vb6*

eso que dices no es posible si el label tiene algo escrito aunque sea en
tiempo de ejecucion deverias poder obtener el caption, y no es una forma
de obtener labels como caption de vb6, es una forma de leer texto en pantalla,
puedes obtener el texto de TODO lo que esta en pantalla si quieres puedes provarlo
  #16 (permalink)  
Antiguo 20/08/2008, 06:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Leer LABEL de un programa externo. *Vb6*

Bueno, lamento informar que el Label no es un control real. Es algo que simplemente se pinta en la ventana, así que no tiene hWnd y no podemos obtener su Texto.

Lo que podríamos hacer es saber qué es exactamente lo que hace el otro programa que mencionas y tratar de hacer lo mismo, ya que si fue hecho en VB6 seguro que es posible hacerlo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:11.