Descobrir Posicionamento do Mouse na Tela (Hook)
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+
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+
Janbaceiredo
Curtidas 0
Respostas
Spiritwwwalker
08/03/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.
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.
GOSTEI 0
Janbaceiredo
08/03/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?
é 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?
GOSTEI 0
Janbaceiredo
08/03/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+
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+
GOSTEI 0