Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.08.2008, 22:04   #1
CRASH009
Подтвердите свой е-майл
 
Регистрация: 17.08.2008
Сообщений: 4
Восклицание Имитация клика мышки на экране

Здравствуйте! Подскажите, как возможно реализовать программу, которая будет имитировать клик мышки в заданной точке экрана? То есть если в область клика попадает объект стороннего приложения (кнопка), то она ьбудет нажиматься.
Спасибо.
CRASH009 вне форума
Старый 17.08.2008, 23:34   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
  x := 0;
  y :=  0;
  SetCursorPos(x, y);
  Mouse_Event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
  Mouse_Event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
eoln вне форума
Старый 18.08.2008, 00:58   #3
CRASH009
Подтвердите свой е-майл
 
Регистрация: 17.08.2008
Сообщений: 4
Вопрос

Спасибо большое!

Всё хорошо, а как сделать определение координат вне формы? Дело в том, что сама рабочая форма маленькая, а мне надо узнать координаты курсора в любой точке экрана вне этой формы. Для области формы я написал:

GetCursorPos(W);
ShowMessage( '(' + IntToStr( W.X) + ' ,' + IntToStr( W.Y ) + ')' );

А если курсор находится за пределами формы и мне нужны его координаты?
CRASH009 вне форума
Старый 18.08.2008, 01:10   #4
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  p: TPoint;
begin
  GetCursorPos(p);
  form1.Caption := '(' + IntToStr(p.X) + ',' + IntToStr(p.Y) + ')';
end;
Вполне справляется с определением координат курсора в любой точке экрана.
NikLik вне форума
Старый 18.08.2008, 13:20   #5
CRASH009
Подтвердите свой е-майл
 
Регистрация: 17.08.2008
Сообщений: 4
Хорошо

Спасибо всем огромное Выручили
Но задача немного усложнилась - мне теперь нужно наоборот, чтобы координаты курсора вносились на форме при клике мыши вне пространства формы. Именно при клике. То есть я кликаю мышкой вне формы в другой области экрана, а координаты вносятся на форме. Ведь получается, что форма неактивна и клик мыши мимо формы не будет выполнять событие этой формы...

Последний раз редактировалось CRASH009; 18.08.2008 в 15:50.
CRASH009 вне форума
Старый 18.08.2008, 19:23   #6
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Неоднократно обсуждалось на форуме.
Вложения
Тип файла: rar for_CRASH009.rar (3.2 Кб, 309 просмотров)
NikLik вне форума
Старый 18.08.2008, 21:38   #7
CRASH009
Подтвердите свой е-майл
 
Регистрация: 17.08.2008
Сообщений: 4
По умолчанию

Супер Теперь вроде всё. Спасибо. Помогли ребят.
CRASH009 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
имитация клавиатуры Var17 Win Api 3 17.06.2008 14:28
Рисование на экране... Roberto Win Api 3 07.04.2008 07:35
Узнаё позицию клика... Altera Компоненты Delphi 5 15.03.2008 18:03
Координаты клика snake-as JavaScript, Ajax 0 24.02.2008 15:44
какая функция определяет - была-ли нажата левая кнопка мыши, положение мышки на экране Wicing Общие вопросы Delphi 5 11.12.2007 10:17