|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
||||||
Клик мышью по координатам28.11.2009, 17:06. Показов 9226. Ответов 9
Метки нет (Все метки)
Здравствуйте, прочитал статьи по эмуляции клика и такое впечатления, что у все все работает кроме меня)
В общем создал на форме 2 кнопки, по клику на 2 отсылаются сообщения клика по координатам первой кнопки. Но ничего не происходит. Иногда Фаерфокс вообще открывает ни с того ни с сего Попандер.ру сайт оО
Поскольку мне нужно в дальнейшем будет кликать не в форме, то тут посылаю на глобал, но так же пробовал и с Хендлом этой формы и все равно ничего. Просьба не советовать маус_евенты. Хочу так научится.
1
|
||||||
| 28.11.2009, 17:06 | |
|
Ответы с готовыми решениями:
9
Клик мышью по заданным координатам Клик мышью Клик мышью |
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
| 28.11.2009, 17:54 | |
|
сам-то понял, что сделал?
ты ВСЕМ окнам верхнего уровня посылаешь WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_LBUTTONUP. само собой, если у тебя открыт FireFox, он тоже получает мув и клик мышки. что конкретно у тебя не работает? Не по теме: в сотый непечатный раз прошу: пишите вы, что хотите получить в итоге.
0
|
|
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
|
| 28.11.2009, 18:41 [ТС] | |
|
Там же написано, что хочу. Хочу сделать программный клик в не формы.
Да возможно оно и посылает всем окнам верхнего уровня те действия, вопрос только почему оно их посылает свернутому фаерфоксу, причем не знаю куда оно там клацало, но после пару десятков кликов на кнопке оно открыло мне столько же окон в браузере. А то что мне нужно, для начала программно кликнуть на кнопку, так и не получилось.
0
|
|
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||
| 28.11.2009, 18:59 | ||
|
Ну... может, msdn почитать?
или хоть справку по HWND_BROADCAST?
0
|
||
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
|
| 28.11.2009, 19:13 [ТС] | |
|
Ясно спасибо, за справку HWND_BROADCAST я читал там шла речь только об видимых окнах.
Ну тем не менее даже так, то какого оно открывает сайт не каждый раз, а иногда вообще ничего не делает. А если посылать только форме, то все равно не клацает. Не нужно ли преобразовывать координаты которые я указываю в сообщение, для Экрана. Меня интересует именно этот способ, через посылку сообщений, но за инфу спасибо, я гляну.
0
|
|
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||
| 28.11.2009, 20:19 | ||
стандартный обработчик диалогов, на котором формы работают, реагирует на BN_CLICKED и BN_DBL_CLICKED(не уверен в написании, но смысл понятен), а ты их не посылаешь. А если хочешь посылать сообщения конкретному окну - так ты сначала его хэндл определи. А потом, координаты - зачем они тебе вообще, если ты не в общую очередь сообщения отправляешь, а конкретному окну? Определяй тогда уж кнопку, и посылай сразу ей. Ей вообще на координаты наплевать. А если все-таки через общую очередь сообщений - то "цивилизованно" это только через SendInput() и делается. Не по теме: как я и писал - нефига не ясно, чего-же ты хочешь получить... :D
0
|
||
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
||||||
| 28.11.2009, 21:41 [ТС] | ||||||
|
Этот код я всунул в Борланд там стоял обработчик на Клик по кнопке. Если по ней клацать мышой, то выводит сообщение. Программно ничего не выводит))
И BN_CLICKED вроде же и срабатывает при приеме сообщений лбатондаун, лбатонап. В общем кнопка это тест только для проверки работоспособности программы. В идеале программа должна клацать в любом месте по указанным координатам, чтобы там нибыло. К пример на рабочем столе ярлык выделать если надо, или в любой программе сделать клик по меню тоже по указанным координатам. Вот возьму для примера браузер и сайт вконтакте. открываю графити и хочу нарисовать точку, тогда в проге ввожу координаты и прога должна просто совершить клики в нужных местах браузера, то есть в флеш окне(графити там вроде флешовское). Или ввести координатый Меню любой программы и чтобы выпало это меню, как будто я лично кликал мышкой. Это как пример, а не основная цель моей работы. Я это делаю чисто для себя хочу понять, как работать с сообщениями эмулируя мышь. Добавлено через 55 минут Вот сидел тестил получилось выделять и запускать ярлыки на рабочем столе
0
|
||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
| 29.11.2009, 06:59 | |
|
ну... еще раз...
ты когда-нибудь замечал, что если нажимать левую кнопку мыши медленно(типа, нажать, подержать пару секунд и отпустить), то кнопки в большинстве программ на это не реагируют? в тех-же диалогах. это происходит из того, что сообщение WM_LBUTTONDOWN воспринимается, как команда "Начать выделение", а WM_LBUTTONUP - как команда "Закончить выделение". и сообщения BN_CLICKED при этом не получается. непосредственно на WM_LBUTTONDOWN реагируют только браузеры, и рабочий стол, если на нем ActiveDesktop включен. посылай BN_CLICKED и не парься, изобретатель...
0
|
|
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
||||||
| 29.11.2009, 12:43 [ТС] | ||||||
|
Так тогда может посылать WM_COMMAND с указанием notif code BN_CLICKED?!
Возможно если я так пошлю, то оно и нажмет кнопку, но тогда по сути получается бредовая программа. Я пытаюсь сделать эмуляцию в любом окне в любое место на любой компонент. А так тогда только кнопки и клацать. Так подумал, вспомнил вроде есть программы записывающие действия мыши, а потом воспроизводящие, вот по сути по типу того ходу добиться. Добавлено через 1 час 41 минуту Вот нашел статью, где написано, как кликать по нижним окнам.
Бродкаст я прочитал не шлет сообщения Чилдам. Есть ли какой-то оптимальный способ послать всем чилдам сообщения? Или только перебором?
0
|
||||||
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
|
| 30.11.2009, 22:33 [ТС] | |
|
Пример чего я хочу добиться
webzanacka. ru/soft_tasker_.htm Эта программа делает клики, выделения в любых окнах, в общем, все то, что я лично делал мышкой. Как мне добиться простейшего результата повторения действий? Добавлено через 23 минуты В общем mouse_event делает, то что мне надо. По видимому чистыми PostMessage такого эффекта не добиться.
0
|
|
| 30.11.2009, 22:33 | |
|
Помогаю со студенческими работами здесь
10
Клик мышью в rdp Клик мышью в фоновом приложении Как эмулировать клик мышью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|