Управление мышью
Все наверное хотят использовать свои курсоры. И большинству нужны не просто курсоры, а анимированные курсоры. Вот что надо сделать для загрузки курсора:
implementation
const
crMyCursor = 1;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Это единственный способ загрузки который я знаю
Screen.Cursors[crMyCursor] := LoadCursorFromFile(‘C:\Курсор.ani’);
// Устанавливаем курсор на форму
Cursor := crMyCursor;
end;
Теперь перейдём к быстрой настройки мыши. Вот как можно поменять кнопки мыши между собой:
SwapMouseButton(true); // Поменять
SwapMouseButton(false); // Поменять обратно
Теперь кинем на форму таймер и напишем там:
procedure TForm1.Timer1Timer(Sender: TObject);
var
position: TPoint;
begin
GetCursorPos(position);
Caption:=(‘(‘ + IntToStr(position.X) + ‘ ,’ + IntToStr(position.Y) + ‘)’);
end;
То что мы написали выводит в заголовке формы тикущие координаты курсора. Position.X – координата X; Position.Y – координата Y типа integer.
Перемещать мышь можно с помощью процедуры mouse_event(MOUSEEVENTF_MOVE, X, Y, 0, 0); где X – число, на которое сместиться курсор, в горизонтальной плоскости, из исходного положения. Y – число, на которое сместиться курсор, в вертикальной плоскости, из исходного положения.
Дополнение. Для клика мышкой в определённом месте экрана надо допустим в таймере прописать так
procedure TForm1.Timer1Timer(Sender: TObject);
var
position: TPoint;
begin
GetCursorPos(position);
Caption:=IntToStr(position.X)+’ ‘+IntToStr(position.Y);
// начало блока клика
mouse_event(MOUSEEVENTF_LEFTDOWN, position.X, position.Y, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, position.X, position.Y, 0, 0);
// конец блока клика
end;
Вот теперь мы кликаем в текущей позиции по таймеру. Для двойнова клика напишите блок клика два раза.
mouse_event ( MOUSEEVENTF_MOVE, X, Y, 0, 0 );
смещение сомнительное и неточное!
непонятно от чего зависит, но уж никак не от X и Y.
Например при X =100 и Y = 100 смещается на 190-195 пикселей.
Как бы уточнить?
setcursorpos(x,y);
x,y -координаты куда тыкнуть курсов и всё !!!
не тупите так ! кто автор темы 1 раз в делфу палез …
Я профан в программировании но мне нужна эта программа. Помогите кто может. Программа должна кликнуть мышкой в определенное место на экране в определенное время. Время должно быть с долями секунды.
Еще вопрос. Есть ли мышки со встроенными таймерами в корпус мыши чтобы в определенное время кликнули. И где их найти?
пишите на: nuny@albatros.uz
А как наити координаты клика ? И потом после 2 кликом, между ними провести прямую ?
Подскажите, очень нужно.
Спасибо, как раз пишу прогу для рисования схемы на карте и координаты мыши важно знать без кликов
Алекс<<профан нахъ. автокликер пытается написать 😀 с этим помогать не буду.
а как управлять мышкой через сокету(удаленное управление а не безумная мышка)?
Алекс<< сделай замыкание кнопки мыши не физическим нажатием, а при помощи мультивибратора на основе микросхемы логического НЕ.
1 способ не работает. ошибок нет, но и ничего не происходит