GARANTIR DESCONTO

Fórum Automatizando Click do Mouse #261248

09/12/2004

0

Pessoal, estou com uma dúvida.

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

Nicchio

Responder

Posts

09/12/2004

Andremuller

Não sei se é isso que tu quer, mas fica valendo a tentativa. Claro que o código abaixo estoura, mas talvez o que tu queira é a idéia em si.

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;


Responder

Gostei + 0

10/12/2004

Nicchio

é amigo, não deu certo !

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.)


Responder

Gostei + 0

10/12/2004

Nicchio

Alguem tem mais alguma idéia ?! Andei vendo com um amigo ae, parece q cada tecla e botão do mouse tem um número, alguem sabe disso ae ?

Valeuz !


Responder

Gostei + 0

10/12/2004

Fórum Vini

Olá,
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;


Responder

Gostei + 0

13/12/2004

Nicchio

Velho, não sei se é pq estou no Kylix, mais esta falando que não existe esse mouse_event. Ele está falando q não foi declarado o mouse_event.


Responder

Gostei + 0

13/12/2004

Fórum Vini

Ah... então é por isso... a mouse_event é uma API do Windows :roll:
No Linux eu não sei se existe uma função parecida, mas provavelmente deve ter :wink:

T+,
Vinicius;


Responder

Gostei + 0

16/02/2005

Vagner.oliveira

Tche tens com como me dizer o q são os 4 zeros pois estou tentanfo fazer um programa q grave uma determinada posição e depois independente de onde estiver o mouse ele irá clicar lá


Responder

Gostei + 0

17/02/2005

Fórum Vini

Tche tens com como me dizer o q são os 4 zeros pois estou tentanfo fazer um programa q grave uma determinada posição e depois independente de onde estiver o mouse ele irá clicar lá

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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar