Fórum Automatizando Click do Mouse #261248
09/12/2004
0
Estou desenvolvendo um programinha, uma parte dele faz com que o click com o botão direito do mouse seje automatico, ou seja, apertando um botão definido no programa para ligar o mesmo, o botão direito do mouse iria clicar infinitamente até apertar o botão para desligar. É isso ae pessoal, eu não sei qual evento usar, alguem poderia me dar uma luz de como posso desenvolver essa lógica ?
Obrigado !
Nicchio
Curtir tópico
+ 0Posts
09/12/2004
Andremuller
property Parar: boolean read FParar write FParar;
procedure TForm1.btnPararClick(Sender: TObject);
begin
Parar := True;
end;
procedure TForm1.btnIniciarClick(Sender: TObject);
begin
Parar := False;
while not Parar do
begin
Application.ProcessMessages;
btnIniciar.OnClick(Sender);
end;
end;
Gostei + 0
10/12/2004
Nicchio
Oq eu precisava mesmo não era nem apertando o botão inicar e parar e sim uma tecla expecifica, nisso o programinha vai estar checando se a tecla foi apertada, se foi ele começa a clicar com o botão direito na tela. (obs: o programa vai estar minimizado, ou seja, não vai ser somente dentro da janela do programinha e sim no windows todo.)
Gostei + 0
10/12/2004
Nicchio
Valeuz !
Gostei + 0
10/12/2004
Fórum Vini
para simular um clique do mouse, existe a função mouse_event, mas para facilitar as coisas eu criei essa função para você:
procedure CliqueMouse; begin mouse_event( MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 ); sleep(1); mouse_event( MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ); end;
Se for um clique com o botão esquerdo, troque RIGHT por LEFT :wink:
Agora o loop infinito para chamar essa função fica por sua conta :P
Qualquer dúvida é só postar
T+,
Vinicius;
Gostei + 0
13/12/2004
Nicchio
Gostei + 0
13/12/2004
Fórum Vini
No Linux eu não sei se existe uma função parecida, mas provavelmente deve ter :wink:
T+,
Vinicius;
Gostei + 0
16/02/2005
Vagner.oliveira
Gostei + 0
17/02/2005
Fórum Vini
Pra isso vc tem que setar a flag MOUSEEVENTF_ABSOLUTE e passar as coordenadas como parâmetros:
procedure CliqueMouse; begin mouse_event( MOUSEEVENTF_RIGHTDOWN or MOUSEEVENTF_ABSOLUTE, X, Y, 0, 0 ); sleep(1); mouse_event( MOUSEEVENTF_RIGHTUP or MOUSEEVENTF_ABSOLUTE, X, Y, 0, 0 ); end;
Onde X e Y são as coordenadas do mouse em relação à tela.
Qualquer dúvida, estou aqui :wink:
Espero ter ajudado,
Vinicius;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)