dez 2 2008

Simulando um clique no WebBrowser do Delphi

Vi esta dica no blog Delphi to Delphi uma pequena dica de como simular o pressionamento do mouse em um link no TWebBrowser.
A dica consiste em mover o mouse a uma coordenada específica e enviar os comandos para o pressionamento do mouse.

No evento onClick de um botão apenas chamados o método Navigate do TWebbrowser passando como parâmetro o conteúdo de um Edit com a url a ser carregada.

Depois no evento onDocumentComplete do TWebBrowser movemos e clicamos em um determinado link.
O único problema dessa simulação é que geralmente as coordenadas podem mudar de acordo com a resolução da tela e posição do link.

?View Code DELPHI
procedure TForm1.Button1Click(Sender: TObject);
begin
 WebBrowser1.Navigate(Edit1.Text);
end;
 
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 Pt : TPoint;
begin
 Pt.X := 414;
 Pt.Y := 388;
 {Obtém o point no centro do Button1}
 //Pt.x := Button2.Left + (Button2.Width div 2);
 //Pt.y := Button2.Top + (Button2.Height div 2);
 {Converte Pt para as coordenadas da tela }
 Pt := ClientToScreen(Pt);
 Pt.x := Round(Pt.x * (65535 / Screen.Width));
 Pt.y := Round(Pt.y * (65535 / Screen.Height));
 {Move o mouse}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
 {Simula o pressionamento do botão esquerdo do mouse}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
 {Simula soltando o botão esquerdo do mouse}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
end;

Outro exemplo parecido você encontra neste link http://www.devmedia.com.br/articles/viewcomp.asp?comp=9550



3 Comentários:

Trackbacks

  1. delphi » Blog Archive » Simulando um clique no WebBrowser do Delphi escreveu:
    […] Leia mais direto na fonte: http://www.infomaroto.com […]
    dezembro 4th, 2008 às 6:25 pm
  2. ipod » Blog Archive » Simulando um clique no WebBrowser do Delphi escreveu:
    […] Leia mais direto na fonte: http://www.infomaroto.com […]
    dezembro 4th, 2008 às 7:11 pm
  1. jonatas diz:
    muito pouco explorado este assunto
    maio 10th, 2011 às 10:13 am

DEIXE UM COMENTÁRIO

Subscrever

Subscreve o Blog



Publicidade

Comentários Recentes

  • shirley Balazs: Parabéns!! Informações de utilidade publica e de primeira, foi muito útil a mim.Obrigada!!
  • Jefferson Ferreira de brito: eu quero muito
  • thiago valente: Eu quero um para mim
  • Lucas martins balieiro: Eu não fiz o enem mesmo assim eu posso me inscrever no site essa é minha dúvida, só queme...
  • Francisca Marli Oliveira: quero saber quanto tenho no meu fgts

Links

Leitores Recentes

VALE O CLIQUE!

Site Seguro Ocioso

Divulgue o blog Infomaroto em seu site e tenha seu link ou banner aqui.
Blog Infomaroto