Карта сайтаСсылкиКонтакты

Имитация щелчка мыши в любом месте экрана

PDF Печать
Статьи

Симуляция щелчка мыши в любом месте экрана

Для имитации щелчка мыши в любом месте экрана, нужно просто переместить курсор с помощью функции SetCursorPos, а также отправить событие мыши нажатие левой кнопки (MOUSEEVENTF_LEFTDOWN), после чего нужно отпустить левую кнопку (MOUSEEVENTF_LEFTUP). Действительно, одному щелчку кнопки мыши соответствует нажатие и отпускание кнопки. Чтобы для пользователя создавалось впечатление, что курсор мыши неподвижен, нужно сохранить позицию курсора (GetCursorPos) мыши перед нажатием и восстановить позицию (SetCursorPos) после отпускания кнопки мыши. Для примера поместите компонент TButton на форму, и в событие кнопки Click запишите приведенный ниже код. При выполнении приложения и нажатии на кнопку будет открыть системное меню приложеня.

Пример


procedure TForm1.Button1Click(Sender: TObject);
var
  P: TPoint;
begin
  { Сохраняем позицию курсора }
  GetCursorPos(P);
  { Помещаем курсор, где нам надо }
  SetCursorPos(Left + 10, Top + 10);
  { Симулируем нажатие кнопки мыши }
  Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  { Симулируем отпускание кнопки мыши }
  Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  { Возвращаем курсор в первоначальную позицию }
  SetCursorPos(P.X, P.Y);
end;

Пример можно скачать здесь.


 

Добавить комментарий


Защитный код
Обновить