delphi?

Обсуждение ПО и железа

Модератор: Taifun

Ответить
Аватара пользователя
_predator_
Сообщения: 27
Зарегистрирован: Пт, 10 июн 2005 00:22:32
Контактная информация:

delphi?

Сообщение _predator_ »

кто знает как в delphi сделать что бы курсор мыши сам двигался по определённым координатам
Аватара пользователя
Серый
Сообщения: 405
Зарегистрирован: Чт, 16 дек 2004 19:54:37
Откуда: Бийск

Сообщение Серый »

Windows.SetCursorPos(x,y); Где x и y координаты относительно экрана.
Аватара пользователя
_predator_
Сообщения: 27
Зарегистрирован: Пт, 10 июн 2005 00:22:32
Контактная информация:

Сообщение _predator_ »

Серый писал(а):Windows.SetCursorPos(x,y); Где x и y координаты относительно экрана.
спасибо конечно. но как сделать чтобы мышка сама двигалась? :)
Аватара пользователя
Executor
Сообщения: 2642
Зарегистрирован: Пт, 07 мар 2003 20:41:08
Контактная информация:

Сообщение Executor »

Мда... Ну и программисты пошли... :)

Ставишь таймер и каждый тик сдвигаешь мышку в нужном направлении до определённых координат используя SetCursorPos(x,y);
ALX
Сообщения: 1
Зарегистрирован: Чт, 18 янв 2007 14:34:36
Контактная информация:

Сообщение ALX »

С++ или Delphi - таков вопрос...
Аватара пользователя
Jigit
Сообщения: 13294
Зарегистрирован: Вт, 11 июл 2006 08:19:55

Сообщение Jigit »

_predator_ писал(а):
Серый писал(а):Windows.SetCursorPos(x,y); Где x и y координаты относительно экрана.
спасибо конечно. но как сделать чтобы мышка сама двигалась? :)
Если ты про саму мышу, вставь двигатели в нее.
Аватара пользователя
BATMEN
Сообщения: 7786
Зарегистрирован: Вс, 05 дек 2004 20:05:20
Откуда: :ɐдʎʞɯО
Контактная информация:

Сообщение BATMEN »

можно еще так: mouse.CursorPos := point(10, 20);
смотря для чего тебе нужно, если надо например сдвинуть на 10 по Х то можешь сделать так:

var CP : TPoint;
begin
getCursorPos(CP);
inc(CP.X, 10);
mouse.CursorPos := CP;
end;
Аватара пользователя
BATMEN
Сообщения: 7786
Зарегистрирован: Вс, 05 дек 2004 20:05:20
Откуда: :ɐдʎʞɯО
Контактная информация:

Сообщение BATMEN »

Если знаешь хорошо тригонометрию, то тебе должна быть известна тригонометрическая форума окружности, с ее помощью можешь, например, вращать курсор по кругу:

Код: Выделить всё

var
  Form1: TForm1;
  GetAngle : real = 0;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
   function AngleToPoint(Angle : real; Radius : word) : TPoint;
    begin
     Result.X := Round(Radius * Sin(Angle)) + mouse.CursorPos.X;
     Result.Y := Round(Radius * Cos(angle)) + mouse.CursorPos.Y;
    end;

begin
 GetAngle := GetAngle + 0.1;
 if GetAngle > 6 then GetAngle := 0;
 mouse.CursorPos := AngleToPOint(GetAngle, 5);
end;

end.
ЗЫ: Интервал таймера 50;
Аватара пользователя
Jigit
Сообщения: 13294
Зарегистрирован: Вт, 11 июл 2006 08:19:55

Сообщение Jigit »

Вот прикол я сделал полгода назад. Мыша двигается и кое-что еще делается.
Вложения
Project1.rar
(7.82 КБ) 50 скачиваний
Ответить

Вернуться в «Software & hardware»