quinta-feira, 31 de março de 2011

Visual Basic'n'Delphi Tip: Detectando e simulando cliques e posição do mouse: Macros

Olá pessoal.
Neste artigo iremos tratar sobre a criação de programas de macro, tanto no VB como no Delphi.
Creio que alguém já teve de criar um programa que detectasse clique fora da janela do programa ou mesmo simular o clique.
Pois bem. Iremos por etapas.

Detectando posição do mouse


Este algoritmo é muito fácil. Deve-se usar a API GetCursorPos da biblioteca User32 e usar o tipo POINTAPI. O código é o seguinte:


No Delphi, fica:

Detectando cliques


Creio que muita gente não sabe, mas é possível detectar o botão do mouse como se fosse do teclado. Não é necessário usar nenhum hook complexo nem funções complicadas. Usa-se somente a função GetAsyncKeyState da biblioteca User32. O código dos botões do mouse equivalem aos valores vbLeftButton, vbRightButton e vbMiddleButton, respectivamente 1,2 e 4.

No delphi, é simplesmente "self.Caption:=IntToStr(GetAsyncKeyState(1));" pois não há a necessidade de declarar tal função.

"Clicando" automaticamente


Existe a função mouse_event, que simula cliques.


No delphi é simplismente:


Lembrando que tal função clica no local onde o cursor está. Por isso, há necessidade de se mover o mouse antes de se clicar. Veremos a função de mover o mouse a seguir.

Movendo o mouse automaticamente


Existe a função SetCursorPos da biblioteca User32.
No delphi é simplismente "SetCursorPos(500,200)", e onde é 500 e 200, irá a sua posição de cursor.

Programa para gravar macro


Juntando todas essas APIs, você pode construir um programa de criação de macros do simples ao avançado.

Estarei postando em breve o programa de criação de macros.

Fique ligado!

0 comentários:

Postar um comentário