Array
(
)

Descobrir Posicionamento do Mouse na Tela (Hook)

Janbaceiredo
   - 08 mar 2006

Holla a todos,

gostaria de saber como posso desenvolver um codigo para mostrar em um pop-up o posicionamento do mouse na tela, ou seja, sua coordenadas (X,Y). Sendo que essa aplicação pegara as coordenadas mesmo ela não estando em foco. Acredito que a forma mais interessante seria por Hook, mas não tenho certeza.

Se alguem tiver alguma ideia,
Value t+


Spiritwwwalker
   - 09 mar 2006

Prezado janbaceiredo:

Em seu formulário, acrescente dois labels. Em seguida, no evento OnMouseMove do form, insira as seguintes linhas de código:

Label1.Caption := ´Coordenada X = ´ + IntToStr(X);
Label2.Caption := ´Coordenada Y = ´ + IntToStr(Y);

Acho que deve resolver... Boa sorte.


Janbaceiredo
   - 10 mar 2006

SpiritWWWalker,

é quase isso que preciso, mais como havia dito anteriormente, a aplicação não vai estar no foco, ela vai estar minimizada, sendo assim preciso pegar essa posição do ambiente Windows.

Dá forma como você suregiu, ela só funciona quando o form estiver aberto e em foco, dessa forma para mim não resolveria o problema.

Estava pensando em Hook ou API do Windows mais nao sei como proceder, alguem?


Janbaceiredo
   - 10 mar 2006

SpiritWWWalker,

pesquisei mais um pouco e acabei encontrando.
Usando o API do Windows posso usar GetCursorPos.
Usei como este o seguinte codigo um componente Timer para teste:

procedure TForm1.Timer1Timer(Sender: TObject);
var
Mouse: TPoint;
begin
if GetCursorPos(Mouse) then
Label1.Caption := ´Mouse: x=´+IntToStr(Mouse.x)+´ y=´+IntToStr(Mouse.y);
end;

Executei a aplicação e deixei ela em segundo plano e ela apresenta a posição do mouse.

Valeu pela ajuda,
T+