como veo que no pudiste, pos ahi te mando los proyectos:
he agregado una que otra funcion adicional.
http://www.mundointeractivo.net/rpm/TODO.rar
he agregado una que otra funcion adicional.
http://www.mundointeractivo.net/rpm/TODO.rar
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúType LV_TEXT
sItemText As String * 80
End Type
CitarEl problema está en que yo puedo ver si el número es correcto o no porque me lo dice el segundo Testbox del programa 1, pero el Programa 2 no se como hacer para que lea lo que pone en el segundo Textbox (que pone bien o mal).
¿Como puedo captar el valor del Textbox (programa 1) desde el programa 2?
Option Explicit
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH = &HE
Type LV_TEXT
sItemText As String * 80
End Type
Public CajaTexto As Long
Public Function Procesos(ByVal hWnd2 As Long, lParam As String) As Boolean
Dim Nombre As String * 255, nombreClase As String * 255
Dim Nombre2 As String, nombreClase2 As String, texto As LV_TEXT ' * 255
Dim X As Long, Y As Long, nCount As Long, jaja As Long
X = GetWindowText(hWnd2, Nombre, 255)
Y = GetClassName(hWnd2, nombreClase, 255)
Nombre = Left(Nombre, X)
nombreClase = Left(nombreClase, Y)
Nombre2 = Trim(Nombre)
nombreClase2 = Trim(nombreClase)
If nombreClase2 = "ThunderRT6TextBox" And Nombre2 = "Text1" Then
MsgBox "Bien"
CajaTexto = hWnd2
nCount = SendMessage(hWnd2, WM_GETTEXTLENGTH, 0, 0&)
MsgBox "Bien2 " & nCount
If nCount = 0 Then Exit Function
jaja = SendMessage(hWnd2, WM_GETTEXT, nCount + 1, texto)
MsgBox "Bien3 " & jaja
MsgBox "Bien4 " & texto.sItemText
Exit Function
End If
If Nombre2 = "" And nombreClase2 = "" Then
Procesos = False
Else
Procesos = True
End If
End Function
=====EN UN FORM=======
Dim hWnd1 As Long
Private Sub Command1_Click()
hWnd1 = 0
If Ventana = True Then
EnumChildWindows hWnd1, AddressOf Procesos, 1 'lParam
Else
hWnd1 = 0
CajaTexto = 0
End If
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If hWnd1 <> 0 Then
Label1.Caption = "Encontrada"
Call Procesos(CajaTexto, 0)
EnumChildWindows hWnd1, AddressOf Procesos, 1 'lParam
Else
Label1.Caption = "PAILAS"
hWnd1 = 0
CajaTexto = 0
Timer1.Enabled = False
Call Command1_Click
End If
End Sub
Private Function Ventana() As Boolean
hWnd1 = FindWindow(vbNullString, "Form1")
If hWnd1 > 0 Then Ventana = True
End Function