С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841

Программный клик курсором

21.08.2012, 17:14. Показов 3170. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Кто знает как програмно кликнуть курсором по заданный координатам, как переместить туда курсор я знаю а вот как кликнуть нет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2012, 17:14
Ответы с готовыми решениями:

Программный клик мыши
Здравствуйте, такой вопрос. Можно ли кликать мышью сквозь формы? Т.е есть прозрачная активная форма, и кликать на объекты позади...

Программный клик
Здравствуйте! Подскажите, как программно сделать щелчек мышью?

Программный клик
this.addEventListener(MouseEvent.CLICK, fl_click); function fl_click(event:MouseEvent) { trace("клик"); } можно ли как-то...

11
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
21.08.2012, 17:19
http://msdn.microsoft.com/en-u... s.85).aspx
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.08.2012, 17:21  [ТС]
У меня с английским туго) Знаю далеко я без него не продвинусь.. Но можете на расском пояснить?
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
21.08.2012, 17:24
клик левой кнопкой мышки по точке (x,y)
C
1
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,x,y,0,0);
1
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.08.2012, 18:05  [ТС]
Во спасибо сейчас буду пробовать)

Добавлено через 37 минут
Цитата Сообщение от aram_gyumri Посмотреть сообщение
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEV ENTF_LEFTDOWN,x,y,0,0);
Не робит... Не знаю должен ли он визуально передвинуть курсор, но он и этого не делает....

Добавлено через 2 минуты
Пишу на 2009 билде, может библиотеку ещё какую подключить надо?
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
21.08.2012, 18:42
DrSMERTb, код компилируется?
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.08.2012, 18:48  [ТС]
Да с этим проблем нет. Не ошибок не предупреждений....
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
21.08.2012, 18:52
так попробуйте
C
1
2
3
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,x,y,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,x,y,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,x,y,0,0);
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.08.2012, 19:13  [ТС]
Не пойму почему, но сейчас кликает хотя я ему прописывал плюс к первому вашему коду ещё:
C++
1
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,x,y,0,0);
Только кликнул он почему то в координаты 0,0, а я почему то думал что x,y координаты куда кликать....

Добавлено через 6 минут
Ничего не пойму, что бы не делал лупит в координаты 15,15 где то...

Добавлено через 10 минут
Попытался вот так определить координаты:
C++
1
2
3
4
5
6
POINT cur_pos;
GetCursorPos(&cur_pos);
cur_pos.x = cur_pos.x * (65535 / Screen->Width);
cur_pos.y = cur_pos.y * (65535 / Screen->Height);
x=cur_pos.x;
y=cur_pos.y;
Вроде почти попадает в старую позицию, но всё таки вверх чуток прыгает....
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
21.08.2012, 19:19
Цитата Сообщение от DrSMERTb Посмотреть сообщение
Попытался вот так определить координаты:
C++
1
2
3
4
5
6
POINT cur_pos;
GetCursorPos(&cur_pos);
cur_pos.x = cur_pos.x * (65535 / Screen->Width);
cur_pos.y = cur_pos.y * (65535 / Screen->Height);
x=cur_pos.x;
y=cur_pos.y;
Вроде почти попадает в старую позицию, но всё таки вверх чуток прыгает....
я в нете только что посмотрел именно так и нужно делать
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
21.08.2012, 20:00  [ТС]
Видно не совсем так)

Добавлено через 5 минут
Скачет чуть вверх и влево... Что не так то?

Добавлено через 18 минут
Ладно по моему, у меня слишком кривые руки)) Буду другие варианты искать)

Добавлено через 11 минут
Вот так робит))
C++
1
2
3
4
5
6
7
INPUT inp[2];
memset(inp,0,sizeof(inp));
inp[0].type=INPUT_MOUSE;
inp[0].mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
inp[1].type=INPUT_MOUSE;
inp[1].mi.dwFlags=MOUSEEVENTF_LEFTUP;
SendInput(2,inp,sizeof(INPUT));
Добавлено через 3 минуты
Сразу допишу, если кому интересно. Эта функция уликает в текущее положение курсора. Перемещать курсор:
C++
1
SetCursorPos(X,Y);
1
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
22.08.2012, 06:19
на всякий случай:
C++
1
2
3
4
5
6
        int x = 40, y = 45;
        int nx = (1.0 * x / Screen->Width) * 65535;
        int ny = (1.0 * y / Screen->Height) * 65535;
        mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, nx, ny, 0, 0);
        mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN, nx, ny, 0, 0);
        mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP, nx, ny, 0, 0);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2012, 06:19
Помогаю со студенческими работами здесь

Программный клик мыши
Как сделать так, чтобы программа кликнула мышкой? Пример: нажима готово в проге, она передвигает курсор на эту же кнопку и программа...

Программный клик на текст
Добрый все день, нужно как то реализовать автоматический клик на текст при переходе на новую страницу. Подскажите, как это можно сделать?

Программный клик в форме
Нужно нажать ЛКМ по координатам внутри формы,при этом не трогая курсор на рабочем столе. Лазил в поиске,не понятен принцип WinApi,но как...

Программный клик в Awesomium(GoogleBrowser)
Подскажите как в этом компоненте (Awesomium) осуществить программное нажатие на кнопку загруженного сайта, например вот здесь google.ru, на...

Программный клик на кнопку MFC
Доброго времени суток! Имеется окно в MFC, в данном окне находится кнопка с ID IDC_STOP_STREAM Окно HWND Main_Dialog ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru