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

SendMessage, problema wparam

Estas en el tema de SendMessage, problema wparam en el foro de Visual Basic clásico en Foros del Web. Buenas a todos, les paso a explicar: Estoy enviando clicks a un determinado hWnd, fuera de la ventana de mi programa. El problema es que, ...
  #1 (permalink)  
Antiguo 24/02/2011, 16:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 21
Antigüedad: 14 años, 3 meses
Puntos: 0
SendMessage, problema wparam

Buenas a todos, les paso a explicar:
Estoy enviando clicks a un determinado hWnd, fuera de la ventana de mi programa.
El problema es que, debo enviar clicks a diferentes posiciones del hWnd que estoy utilizando.

Entonces, declaraciones:

Código:
' función SendMessage
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long
  
' constantes para SendMessage
Private Const BM_SETSTATE = &HF3
Private Const WM_LBUTTONDOWN = &H201 ' botón izquierdo abajo
Private Const WM_LBUTTONUP = &H202 ' izquierdo arriba
Private Const WM_LBUTTONDBLCLK As Long = &H203 ' izquierdo doble click
El sub para enviar doble Click:

Código:
Sub Enviar_DobleClick(Handle As Long)
      

    Call SendMessage(Handle, WM_LBUTTONDBLCLK, 0, ByVal 0&)
    DoEvents
      
End Sub
Y aquí con este sub yo envio dobles clicks a un determinado hWnd (Call Enviar_DobleClick(hWnd). Esto me funciona todo perfecto, pero dentro del lugar de una ventana a donde yo envío los clicks, tiene otros "botones" podríamos llamarlo, que tienen el mismo hWnd, pues entonces he leído sobre esto y debo usar el wparam para especificar a que lugar del hWnd debe enviar los clicks.
Me han comentado que depo usar MakeWord, o algo así pero no he intentado nada, asique si me podrían dar una mano para indicarle al wparam una posición dentro del hWnd especificado.

Muchas gracias desde ya, saludos!

Etiquetas: sendmessage
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 01:05.