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

Obtener el valor de un textbox desde otra aplicación

Estas en el tema de Obtener el valor de un textbox desde otra aplicación en el foro de Visual Basic clásico en Foros del Web. Hola que tal, Como puedo hacer para que desde una aplicación de vb6.0 obtener el texto de un control por ejemplo de textbox, label, listbox, ...
  #1 (permalink)  
Antiguo 17/07/2009, 16:53
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Obtener el valor de un textbox desde otra aplicación

Hola que tal, Como puedo hacer para que desde una aplicación de vb6.0 obtener el texto de un control por ejemplo de textbox, label, listbox, etc; pero que se encuentra desde otra aplicación.

Espero haberme dado a entender, de antemano gracias!!
  #2 (permalink)  
Antiguo 17/07/2009, 18:25
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: Obtener el valor de un textbox desde otra aplicación

Puedes usar la API de Windows. Por ejemplo, te puede servir la función GetWindowText.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 18/07/2009, 08:14
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Buen día, gracias por contestar, voy a probarlo y luego indico que ocurre, jejeje ok de nuevo gracias!!

Saludos
  #4 (permalink)  
Antiguo 18/07/2009, 09:08
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Hola que tal!!! Con lo que estoy probando hago lo siguiente :

Código:
     Dim lhWnd As Long, nombre As String, tam As Long
     lhWnd = FindWindow(vbNullString, "OtherApplicationTitled")
     lhWnd = FindWindowEx(lhWnd, 0, "ThunderRT6TextBox", vbNullString)
     nombre = Space$(50)   
     tam = GetWindowText(lhWnd, nombre, 50)
     nombre = Left(nombre, tam)
Y efectivamente obtengo el valor que tiene una caja de texto (textbox) de la otra aplicación, pero como puedo hacerle para obtener el mismo resultado en un listbox, gridview, label u otro control.

Gracias por su atención!!

Saludos
  #5 (permalink)  
Antiguo 18/07/2009, 09:18
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

En el caso de un listbox deberia cambiar la clase en este caso seria ThunderRT6ListBox, pero supongamos que tenemos dos listbox!!! Como obtengo de un espeficico??

Código:
      lhWnd = FindWindowEx(lhWnd, 0, "ThunderRT6ListBox", vbNullString)
Y con lo anterior me regresa nada.

Última edición por Aioros-jms; 18/07/2009 a las 11:14
  #6 (permalink)  
Antiguo 19/07/2009, 12:19
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Obtener el valor de un textbox desde otra aplicación

Hola, ponete a investigar, ya que es imposible decirlo en un post, lo unico que te puedo decir es que cada control tiene diferentes mensajes para poder sacarle el texto etc...para el textbox es facil, pero para listview ,listbox ya debes conocer los mensajes, lo podes ver en cualquier visor de constantes como el Api Viewer...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #7 (permalink)  
Antiguo 20/07/2009, 09:25
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Ahh Ok, es muy dificil decirlo (postearlo), esta bien de todas modos gracias. Alguna otra pista!!;jajaja. Ok de nuevo gracias por tu "valiosa aportación"!!

Saludos y buen día!!
  #8 (permalink)  
Antiguo 20/07/2009, 09:33
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Obtener el valor de un textbox desde otra aplicación

Haber abre un Form agregale 1 Boton y 1 ListBox, al ListBox agregale al menos 1 elemento

Código:
 
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Sub Command1_Click()
    Dim Wnd4, R4 As Long
    Const LB_ADDSTRING As Long = 384
    Const LB_GETCOUNT As Long = 395
    Const LB_DELETESTRING As Long = 386
    Const LB_GETTEXT  As Long = 393
    Dim cad As String
    cad = "         "
    Wnd4 = Me.List1.hwnd
    R4 = SendMessage(Wnd4, LB_GETTEXT, 0, cad)
    MsgBox cad
End Sub
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #9 (permalink)  
Antiguo 20/07/2009, 10:02
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Muchas gracias Boluart, se logro obtener el valor del listbox desde otra apliación, solo le hice una modificación para obtener el Handle correspondiente al programa y control segun lo que puse mas arriba.

Que tengan un buen día, saludos, vere que puedo hacer con respecto a un label, listview. Bueno hasta ahorita llevamos un buen avance. De nuevo mis mas sinceros agradecimientos!!
  #10 (permalink)  
Antiguo 20/07/2009, 13:32
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Hola aqui de nuevo, solicitando de su apoyo. Resulta que al querer obtener el texto que tenga un textbox lo hago de esta manera:

Código:
     Dim lhWnd As Long, nombre As String, tam As Long
     lhWnd = FindWindow(vbNullString, "OtherApplicationTitled")
     lhWnd = FindWindowEx(lhWnd, 0, "ThunderRT6TextBox", vbNullString)
     nombre = Space$(50)   
     tam = GetWindowText(lhWnd, nombre, 50)
     nombre = Left(nombre, tam)
Pero Solo obtengo el texto, pero por decirlo así muestra el texto que tenga por default, quiero decir, que si al cargar la aplicación el valor tenga "mensaje" o "", eso será lo que me estará mostrando cada momento, aunque le modifique en tiempo de ejecución la cadena que contenga la caja de texto. Y lo que necesito es lo que se va cambiando.

Bueno espero que me hayan entendido.

De antemano gracias!!!
  #11 (permalink)  
Antiguo 20/07/2009, 17:20
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Obtener el valor de un textbox desde otra aplicación

Esa otra aplicacion tu la estas tambien desarrollando o es una aplicacion externa ya terminada?
  #12 (permalink)  
Antiguo 20/07/2009, 19:36
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Obtener el valor de un textbox desde otra aplicación

pues claro, si eso se ejecuta una sola vez cuando cargas el form. si queres que se actualize solo, lo pones en un Timer al codigo...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #13 (permalink)  
Antiguo 21/07/2009, 08:14
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

De donde requiero obtener la cadena es de un aplicación externa que tiene un textbox, en la parte que estoy desarrollando se pretende lo antes ya mencionado (obtener la cadena que contiene dicho textbox). Supongamos que en mi aplicación tengo solo una caja de texto y un boton; la idea es que se obteniendo lo que contenga la caja de texto de la otra aplicación externa. Cosa que no hace ya que si en dicha caja de texto tenga por default nada ("") o "mensaje" eso será lo que se este mostrando mi caja de texto (cada vez que oprima el boton) y no lo que actualmente tenga la aplicación externa(en dicho textbox).

Espero no haberlos confundido(jejeje).

Saludos y gracias por su atención!! buen día!
  #14 (permalink)  
Antiguo 21/07/2009, 10:47
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Obtener el valor de un textbox desde otra aplicación

Listo ya quedo, muchas gracias!!!!
Y quedo de esta manera

Código:
    Const WM_GETTEXT = &HD


    Dim lHandle As Long
    lHandle = FindWindow(vbNullString, "OtherApplicationTitled")
    lHandle = FindWindowEx(lHandle, 0, "ThunderRT6TextBox", vbNullString)
    nombre = Space$(50)
    tam = SendMessage(lHandle, WM_GETTEXT,50, nombre)
    Text2.Text = Left(nombre, tam)
Bien que tenga un buen día!!!

Saludos!!
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 13:49.