| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Программно установить курсор мыши в браузере IE |
| Автор: Vladimir_K 17.1.2008, 21:18 |
| Подскажите, пожалста, как программно установить курсор мыши в окне браузера (IE или каком другом) в определенную точку, и кликнуть в этом окне в нужном месте. |
| Автор: Prof_2000 18.1.2008, 18:08 | ||
Вот код, который эмулирует нажатие клавиши мышки. Разумеется, окно IE или другого браузера должно быть открыто и находиться поверх остальных.
|
| Автор: Vladimir_K 18.1.2008, 22:17 |
| Так, спасибо, это понятно. А как сделать, чтобы при движении мышкой по окну IE в окне Message, или лучше в хинте рядом с курсором мышки отображались текущие координаты? Ну, чтобы узнать координаты цели, а потом уже программно по этим координатам кликать. Обрабатываю MouseMove, но у меня это событие привязано к окну формы, а как обрабатывать это событие, если моя прога свернута, а курсор двигается по окну IE? |
| Автор: CompWorm 18.1.2008, 23:49 |
| сделай свой хинт |
| Автор: Ofer 19.1.2008, 01:53 |
| А GetCursorPos не подходит? ;) |
| Автор: Vladimir_K 19.1.2008, 15:29 | ||
Не понял. Хинт должен отображаться в окне IE. Вот это как сделать? В окне своей проги я хинт вывожу без проблем. ![]() |
| Автор: Prof_2000 19.1.2008, 16:01 | ||
| CompWorm имел ввиду, что следует создать свою форму с BorderStyle=bsNone. Я вот накидал примерчик, повесил 2 TLabel, установил форме BorderStyle=bsNone и FormStyle=fsStayOnTop. На обработчик OnClick для lblX повесил:
|
| Автор: Vladimir_K 19.1.2008, 17:03 |
| Для чего я все это делаю: хочу сделать что-то типа проги, которая запоминает движения мыши, а потом их воспроизводит без моего участия, такую, например, как E-Motion Direct 2.0. Только эта прога не учитывает, что соединение с инетом может прерваться, а моя будет соединяться заново. Попробовал использовать WebBrowser, страница грузится, отображается - все путем. Но у компонента WebBrowser нет события MouseMove, как отслеживать перемещения мыши, и выводить координаты курсора в хинте рядом с курсором? |
| Автор: CompWorm 19.1.2008, 17:08 | ||
| да, я это и имел в виду. не важно чему хинт принадлежит конкретно окну браузера или вцелом... важно чтоб он вылез под курсором. и тут пример Prof_2000 очень к стати... Vladimir_K, судя по скриншоту (координаты 150 и 125), ты хочешь в хинт писать координаты именно относительно окна браузера, а не глобальные координаты курсора... это так? тогда такие значения можно высчитат как глобальная координата мыши - координата окна браузера. данные о положении любого окна можно узнать через
|
| Автор: CompWorm 19.1.2008, 17:28 |
| я так долго писал свое сообщение, что ты уже успел раньше меня что-то дописать)))) ты сделай проще прогу: жмем энтор на клаве и с этого момента пиши координаты мыши (GetCursorPos) в файл... далее открываем файл и меняем координаты мыши по тому что в файле (SetCursorPos)... |
| Автор: Vladimir_K 19.1.2008, 17:42 |
| Да, так и сделаю. Но вот с этим как быть: Попробовал использовать компонент WebBrowser, страница грузится, отображается - все путем. Но у компонента WebBrowser нет события MouseMove, как отслеживать перемещения мыши, и выводить координаты курсора в хинте рядом с курсором? Это должно быть проще - все в пределах моей проги. А потом уже перейду к вопросу взаимодействия с другими приложениями. |
| Автор: Vladimir_K 19.1.2008, 18:32 | ||||||
Да, вот это именно то, что я имел в виду! Показываются глобальные координаты. Программку только проблематично закрыть. А как же быть с MouseMove в WebBrowser? Добавлено через 2 минуты и 56 секунд
Это уже посложнее будет... Потом этим вопросом займусь. |
| Автор: Vladimir_K 19.1.2008, 20:23 | ||
Сделал так:
Теперь у меня отображаются глобальные координаты, а как вычислить координаты именно относительно окна моей проги (формы)? Что-то с этим вопросом я застопорился. |
| Автор: CompWorm 20.1.2008, 16:26 | ||||
уж до этого мог бы догадаться и сам |
| Автор: Vladimir_K 20.1.2008, 17:54 |
| Спасибо! + |