Buscar

Controlando o mouse com o teclado

Código

{Coloque um Timer no Form e altere a propriedade Interval para 1. No evento OnTimer coloque o seguinte código:}

procedure TForm1.Timer1Timer(Sender: TObject);
const
  Rapidez = 10;
var
  Pos: TPoint;
  Key: Byte;
begin
  for Key:= 8 to 222 do
  begin
    if GetAsyncKeyState(Key)=-32767 then
    begin
      GetCursorPos(Pos);
      case Key of
        //se for pressionada a tecla para a esquerda
        37: SetCursorPos(Pos.X-Rapidez, Pos.Y);
        //se for pressionada a tecla para cima
        38: SetCursorPos(Pos.X, Pos.Y-Rapidez);
        //se for pressionada a tecla para a direita
        39: SetCursorPos(Pos.X+Rapidez, Pos.Y);
        //se for pressionada a tecla para baixo
        40: SetCursorPos(Pos.X, Pos.Y+Rapidez);
        //se for pressionado ENTER
        VK_RETURN:
        begin
          mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
          mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        end;
        //se for pressionado SHIFT da direita
        VK_RSHIFT:
        begin
          mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
          mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
        end;
      end;
    end;
  end;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 31/05/10
Por: -=|PiRuKa|=-
Visualizada: 2843 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009