Ya busque en google y dicen que usando la api SendMessage, pero no se como usarla porque me pide el Handle de ese boton y no se si se consigue con otra api o que.
Lo que quiero hacer es una aplicacion que ejecute un boton de otro programa que contiene el caption "Enviar", es lo unico que se sobre ese boton xD
Espero sus respuestas, saludos!
También se hablo de este tema ya :xD
Tienes que usar la funcion FindWindow para obtener la ventana principal y luego con FindWindowEx para encontrar el boton.
Usa el Spy++ para ver como esta hecho porque si vás adivinando por ahi nunca lo encontras :xD
Fua no sabes de algun ejemplo para descargar? gracias raullll
este foro esta plagado de ejemplos de esa api, ya he respondiod varias veces esto.
por ejemplo para hacerle click al boton "Aceptar" del dilogo "Ejecutar" de windows.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
Private Const BM_CLICK = &HF5
Private Sub Form_Load()
Dim vPadre As Long
Dim vHijo1 As Long
vPadre = FindWindow("#32770", "Ejecutar")
vHijo1 = FindWindowEx(vPadre, 0&, "Button", "Aceptar")
Call SendMessage(vHijo1, BM_CLICK, 0, vbNullString)
End Sub
saludos.
http://www.terra.es/personal/guillet/archivos/wingestor.zip
te sirve para ver el handle
Hola, tengo una duda. Si resulta que tengo muchas ventanas que son botones como puedo recorrerlas todas y enumerarlas todas.