Mouse - simular clique

Top  Previous  Next

// Simular clique do mouse:

 

"Clicando" um componente sem clicar nele

1 - Insira um ListBox e preencha-o com alguns itens;

 

2 - Insira um botão qualquer;

 

3 - No evento OnDblClick do ListBox, digite:

 

Button1.Perform(WM_LBUTTONDOWN, 00);

 

------------- OUTRO

 

  SetCursorPos( 1010 );

  Mouse_Event( MOUSEEVENTF_LEFTDOWN, 0000);

  Mouse_Event( MOUSEEVENTF_LEFTUP, 0000);

 

------------- OUTRO

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ShowMessage('Button 1 clicked');

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var

Pt : TPoint;

begin

Application.ProcessMessages;

{Obtém o point no centro do Button1} 

Pt.x := Button1.Left + (Button1.Width div 2);

Pt.y := Button1.Top + (Button1.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, 00);

{Simula o pressionamento do botão esquerdo do mouse} 

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 00);

{ Simula soltando o botão esquerdo do mouse } 

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 00);

end;