hola a todos, vereis.. mi duda es si alguien save como hacer en vb algo como esto:
un codigo que clique en un WebBrowser del mismo proyecto, en una coordenada determinada de el.
basicamente esto... e provado de hacerlo sin ayuda pero no ai manera vv' en fin espero que alguno de vosotros pueda ayudarme en esto, gracias
No acavo de entender exactamente que es lo que preguntas... podrias especificarlo un poco mas?
saludos
Por favor utiliza el buscador del foro.
Aqui esta el ejemplo:
http://foro.elhacker.net/programacion_vb/pulsando_teclas_con_visual_basic-t257211.0.html
Un saludo!
Tambien probá si te sirve esta otra opcion:
las coordenadas que quieras en lugar de 1,1
Option Explicit
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_LBUTTONDOWN = &H201: Const WM_LBUTTONUP = &H202
Public Sub Clicar(lHwnd As Long, x As Long, y As Long)
Dim Rst As Long
Dim Prm As Long
Prm = y + x
Rst = PostMessage(lHwnd, WM_LBUTTONDOWN, 0&, ByVal Prm)
Rst = PostMessage(lHwnd, WM_LBUTTONUP, 0&, ByVal Prm)
End Sub
Private Sub Command1_Click()
Call Clicar(WebBrowser1.hwnd, 1, 1)
End Sub
S2
para oJosLoCos:
aver si me explico quiero un code que clicke en un webbrowser con una web cargada en un punto determinado para que clicke cierta parte de una web ;D
para Seu¥:
tu ejemplo clica en la pantalla ok pero no clica en la posicion que le indico sino donde esta el raton y no clica en un WebBrowser sino en la pantalle en general
para Dessa:
tu code era teoricamente lo que andava buscando pero me tira un fallo
Error '-2147467259 (80004005)' en tiempo de ejecución :
Error en el método 'HWND' del objeto 'IWebBrowser2'
porque probe con un comand si y que clickava :S asi que no entiendo..
gracias a todos por el interes
Es solo un ejemplo, y cual es el problema que clicquee en la pantalla en general? lo mismo hará clicks en tu webbrowser :S
porque el objetivo que tengo esque sea todo mas.. automatico que no me necesite a mi para funcionar, vamos que al iniciarse el proyecto me gustaria que el solito clickara dentro del webbrowser en la coordenada que le especifique :S
:-\ Es que es lo mismo. Tu le darás las coordenadas de la pantalla en general, y este dará los click en ella; el único problema es que si necesitas hacerlo a medida que se modifique el wb es otra cosa.
Si es para apretar un boton o algo asi puedes hacer:
Por ejemplo una vez que el navegador se situe en la pagina que quieres:
Me.WB1.Document.Forms(0).submit.Click
eso aria que WB1(WebBrowser1) haga click en el boton "submit" que esta adentro del form(0) para saber estos datos tenes que ver el codigo fuente de la web
para agus0:
y si el boton esta en un reproductor flash que esta en la web por ejemplo ay manera de clicarlo?
Si es que existe esa posibilidad. No se como hacerlo. Si encuentras algo en la web Compartilo.
Pero la verdad que no se como manejar Flash :-\
Suerte
mmmm y seria posible usar algo como el codigo de dessa pero con teclas?
vamos que clicke por ejemplo TABULADOR en el formulario o en un textbox o donde yo le indique? eso seria posible? :S
Algo asì ? (no se si te va a servir en tu caso)
Option Explicit
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_ENTER = &HD: Private Const WM_CHAR = &H102
Public Sub Clicar(lHwnd As Long, x As Long, y As Long)
Dim Rst As Long: Dim Prm As Long
Prm = y + x
Rst = PostMessage(lHwnd, WM_CHAR, vbKeySpace, ByVal Prm)
End Sub
Private Sub Command1_Click()
Call Clicar(Text1.hwnd, 1, 1)
End Sub
Private Sub Command2_Click()
Call Clicar(Text1.hwnd, 1, 10)
End Sub
Private Sub Form_Load()
Text1 = "X"
End Sub
S2
EDIT: para el tabulador seria vbKeyTab en lugar de vbKeySpace
gracias dessa por responder :D
pues veras es muy parecido lo que as exo a lo que quiero
lo que quiero seria mas o menos...
ejemplo:
tienes 3 command button en el formulario, pues que cuando se abra se clicke tabulador en el formulario 2 veces y luego enter y eso aria clikar el command3 si solo clickara el tabulador 1 vez teoricamente clickaria el comand2
ya se que alomejor parece algo inutil el code porque se puede hacer lo mismo mucho mas facilmente pero esque necesito hacerlo asi :S... aver si alguien save como
Call PostMessage(Form2.Command3.hwnd, &HF5, 0&, 0&)
dessa muchas gracias por tu ayuda en serio :)
solo que necesito que el codigo haga la tabulacion aleatoriamente nose si me explico, que no haga falta especificarle el command1 2 o 3, sino que clique tabulador en el formulario sin mas eso es posible? :S