Как использовать процедуру mouse_event() для имитации событий мыши?
Приведенный пример демонстрирует использование API функции mouse_event() для имитации событий мыши. При нажатии кнопки Button2 программа перемещает курсор мыши на кнопку Button1 и щелкает по ней. Положение курсора мыши задается в "абсолютных" координатах ("Mickeys"), где 65535 "Mickeys" равно ширине экрана.
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Button 1 clicked'); end;
procedure TForm1.Button2Click(Sender: TObject); var Pt : TPoint; begin {Позволим кнопке Button2 перерисоваться} Application.ProcessMessages; {Найдем координаты центра button 1} Pt.x := Button1.Left + (Button1.Width div 2); Pt.y := Button1.Top + (Button1.Height div 2); {Преобразуем Pt к координатам экрана} Pt := ClientToScreen(Pt); {Преобразуем Pt к "mickeys" (аболютным
координатам курсора мышки} Pt.x := Round(Pt.x * (65535 / Screen.Width)); Pt.y := Round(Pt.y * (65535 / Screen.Height)); {Переместим курсор мыши} Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0); {Имитируем нажатие левой кнопки мыши} Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);; {Имитируем отпускание левой кнопки мыши} Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);; end;
Создание генераторов и триггеров в InterBase
В данной статье я опишу реализацию небольшой утилиты для InterBase, которая создает генераторы, автоматически вызываемые из триггеров. На создание такой утилиты меня подвигло то, что я не нашел никакого средства для этого, а создавать генераторы руками мне неудобно, да и слишком много времени это отнимает.
Программирование в среде Delphi 7. Самоучитель
Книга предназначена для самостоятельного изучения последней версии популярной среды разработки программ - Delphi 7. Ее главная задача состоит в том, чтобы помочь новичкам освоиться в сложной структуре современных инструментальных средств программирования и приобрести навыки, необходимые для дальнейшей успешной работы. В книге рассматриваются основы базового языка Pascal, особенности интерфейса Delphi и методы программирования в этой среде.
Благодаря лаконичному, понятному изложению материал книги будет доступен широкому кругу читателей. Книга снабжена многочисленными врезками, а также тематическими контрольными вопросами, способствующими усвоению прочитанного.
Автор: Г. В. Галисеев
Extractor - Все (или почти все) для копателей игровых ресурсов! Здесь размещаются описания форматов графики и архивов из игр, а так же более 80 распаковщиков и конвертеров к более чем 90 играм! Добрая половина програм написана Автором и поставляется с исходниками ...
» Оценка сайта: 5
Опрос населения :)
Новый журнал для программистов "RSDN Magazine". Готовы ли вы подписаться на него?
Хокку дня
с ветки на ветку тихо сбегают капли... Дождик весенний.
Афоризмы
Гении рождаются раз в тысячу лет, и всякий раз не вовремя.
Фраза дня
Брокер от пейджера не далеко падает (Киллер).
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Чико в Калифорнии (США) штраф до 500 долларов, грозит всякому, кто взорвет в пределах города ядерное устройство. Интересно, кто это штраф будет взымать?
В Нью Орлеане (США) нельзя призязывать крокодилов к гидрантам.
И на закуску коротенький анекдот
- Скажите, доктор, а идиот - это заболевание? - Для Вас, голубчик, - выздоровление!