Como indetificar la secuencia de objetos de un .exe en vb 6.0

Iniciado por olve, 9 Octubre 2009, 17:10 PM

0 Miembros y 1 Visitante están viendo este tema.

olve

Espero alguien me pueda ayudar

Lo que necesito saber si hay forma de identificar la secuencia de campos (text) de un porgrama exe echo en vb 6.0


Mi .exe tiene 4 text y el otro tambien cuando escribo en los 4 si le envia los datos pero en desorden es decir text1 (exe1) le escribe al text2(exe2)
Existe un API o algo para q los valores sean:
Text1 (exe1) a Text1 (exe2)
Text2 (exe1) a Text2 (exe2)
Text3 (exe1) a Text3 (exe2)

ya tengo su hwnd de cada objeto


Saludos y Muchas Gracias.









Rudy21

hummm algo mas facil que se me ocurre es mandar el text asi

|Text1|VALOR DEL TEXT1

etc..

y asi cambias

y al recibirlo haces un SPLIT con |

para saber a que Text va y el valor


seba123neo

pone el codigo, no podemos saber lo que estas haciendo mal...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

olve


te envio el codigo seba123neo   saludos y gracias :silbar:




Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Private Const WM_GETTEXT = &HD: Private Const WM_SETTEXT = &HC
Const BM_CLICK = 245 'Envía un clik al botón
Const WM_SETFOCUS As Long = 7 'Coloca el foco sobre una ventana



Private Sub Command1_Click()
Dim recibir As String
Dim Hwndl As Long
Dim LsTexto1 As Long
Dim LsTexto2 As Long
Dim LsTexto3 As Long
Dim LsFoco As Long
Dim LsFoco1 As Long
Dim LsCommand As Long
Dim LsCommand1 As Long


  Hwndl = FindWindow(vbNullString, "Alberto Olvera")

  LsTexto1 = FindWindowEx(Hwndl, 0, "ThunderRT6TextBox", vbNullString)
  LsTexto2 = FindWindowEx(Hwndl, LsTexto1, "ThunderRT6TextBox", vbNullString)
  LsTexto3 = FindWindowEx(Hwndl, LsTexto2, "ThunderRT6TextBox", vbNullString)
  LsCommand = FindWindowEx(Hwndl, 0, "ThunderRT6CommandButton",vbNullString)

  Call SendMessage(LsTexto1, WM_SETTEXT, Len(Text1.Text), ByVal Text1.Text)
  Call SendMessage(LsTexto2, WM_SETTEXT, Len(Text2.Text), ByVal Text2.Text)
  Call SendMessage(LsTexto3, WM_SETTEXT, Len(Text3.Text), ByVal Text3.Text)

  LsFoco = SendMessage(LsTexto1, WM_SETFOCUS, 0, vbNullString)
 
  LsFoco1 = SendMessage(LsCommand, BM_CLICK, 1, vbNullString)

End Sub


Dessa

#6
  Hwndl = FindWindow(vbNullString, "Alberto Olvera")

 LsTexto1 = FindWindowEx(Hwndl, 0, vbNullString, "Text1") ' Text1 es el nombre del control en el exe2
 LsTexto2 = FindWindowEx(Hwndl, 0, vbNullString, "Text2") ' Text2 es el nombre del control en el exe2
 LsTexto3 = FindWindowEx(Hwndl, 0, vbNullString, "Text3") ' Text3 es el nombre del control en el exe2

 Call SendMessage(LsTexto1, WM_SETTEXT, 0, ByVal Text1.Text) ' no hace falta bufer para enviar
 Call SendMessage(LsTexto2, WM_SETTEXT, 0, ByVal Text2.Text) ' no hace falta bufer para enviar
 Call SendMessage(LsTexto3, WM_SETTEXT, 0, ByVal Text3.Text) ' no hace falta bufer para enviar







Adrian Desanti

olve

Disculpa Dessa pero entonces como le envio los datos del text1 (exe1) al text1(exe2)
???????????









Dessa

Perdon, es el contenido String de los text del exe2 el que debes usar
El bufer es no hace falta


Dim Hwndl As Long
Dim LsTexto1 As Long
Dim LsTexto2 As Long
Dim LsTexto3 As Long
Hwndl = FindWindow(vbNullString, "Alberto Olvera")

LsTexto1 = FindWindowEx(Hwndl, 0, vbNullString, "Text1") ' contenido strng de Text1 en el exe2
LsTexto2 = FindWindowEx(Hwndl, 0, vbNullString, "Text2") '  contenido strng de Text2 en el exe2
LsTexto3 = FindWindowEx(Hwndl, 0, vbNullString, "Text3") '  contenido strng de Text3 en el exe2

Call SendMessage(LsTexto1, WM_SETTEXT, 0, ByVal Text1.Text) ' no hace falta bufer para enviar
Call SendMessage(LsTexto2, WM_SETTEXT, 0, ByVal Text2.Text) ' no hace falta bufer para enviar
Call SendMessage(LsTexto3, WM_SETTEXT, 0, ByVal Text3.Text) ' no hace falta bufer para enviar


PD: así me estan llegando los tres mensajes perfectamente
Adrian Desanti