Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
21 / 21 / 7
Регистрация: 30.05.2014
Сообщений: 431

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

29.08.2014, 11:52. Показов 3202. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, подскажите как кликать внутри окна не трогая мышку? Чтобы в самом окне кликало напрмиер в ActiveX флеш элемент, или ещё куда-то.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2014, 11:52
Ответы с готовыми решениями:

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

Клик внутри элемента
Подскажите, как сделать клик внутри окна? Например у меня есть ActiveX элемент флеша который я встроил в свою программу. Могу ли я взяв...

SendMessage как послать клик по координатам не активного окна или какой механизм использовать?
Уже 3 дня рою форумы но не как не могу послать клик по координатам в неактивное окно к примеру пэинт. Перепробовал куча вариантов и...

9
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
29.08.2014, 14:36
Цитата Сообщение от Nummerok Посмотреть сообщение
как кликать внутри окна не трогая мышку
Можно послать сообщение WM_LBUTTONDOWN, WM_LBUTTONUP. (Функции SendMessage(), PostMessage().)
Можно использовать функцию mouse_event().
0
 Аватар для oxyfat
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
29.08.2014, 15:19
Цитата Сообщение от Nummerok Посмотреть сообщение
как кликать внутри окна не трогая мышку?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void MouseClick(HWND hwnd)
{
    /* Сохранить координаты курсора */
    POINT cur;
    GetCursorPos(&cur);
 
    RECT rc;
    GetWindowRect(hwnd,&rc);
 
    int x, y;
    x = rc.left + 250;
    y = rc.top  + 150;
 
    SetCursorPos(x,y);
 
    /* Нажать левую кнопку мыши */
    mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
 
    /* Восстановить координаты курсора */
    SetCursorPos(cur.x,cur.y);
    ShowCursor(TRUE);
}
1
21 / 21 / 7
Регистрация: 30.05.2014
Сообщений: 431
29.08.2014, 17:43  [ТС]
Я просил как кликать не трогая сам курсор мыши.
0
 Аватар для oxyfat
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
29.08.2014, 18:20
Лучший ответ Сообщение было отмечено Nummerok как решение

Решение

Цитата Сообщение от Nummerok Посмотреть сообщение
не трогая сам курсор мыши
C++
1
2
3
HWND hButton;
hButton = GetDlgItem( hWnd, IDC_BUTTON1 );
PostMessage( hButton, BM_CLICK, 0, 0 );
2
21 / 21 / 7
Регистрация: 30.05.2014
Сообщений: 431
30.08.2014, 14:25  [ТС]
Спасибо. А как делать клик по конкретным координатам ?
0
 Аватар для oxyfat
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
30.08.2014, 14:50
Цитата Сообщение от Nummerok Посмотреть сообщение
Как сделать клик по конкретным координатам ?
Скорее всего, использовать функцию из моего первого поста ( MouseClick() ).
Координаты, определять - вам, чтобы было удобно наблюдать позицию
курсора (визуально), можно сделать так:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void MouseClick(HWND hwnd)
{
    /* Сохранить координаты курсора */
    POINT cur;
    GetCursorPos(&cur);
 
    RECT rc;
    GetWindowRect(hwnd,&rc);
 
    int x, y;
    x = rc.left + 250;  // Эти координаты
    y = rc.top  + 150; // устанавливать...
 
    SetCursorPos(x,y);
 
#ifdef _DEBUG
   return;
#endif
 
    /* Нажать левую кнопку мыши */
    mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
 
    /* Восстановить координаты курсора */
    SetCursorPos(cur.x,cur.y);
    ShowCursor(TRUE);
}
0
21 / 21 / 7
Регистрация: 30.05.2014
Сообщений: 431
30.08.2014, 15:07  [ТС]
Эх. Просто есть одина программа, в ней есть клик внутри окна по координатам. Я ставил его, и делал свои дела на компе. Надеюсь что тот кто знает как это сделать отзовётся.
0
 Аватар для oxyfat
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
30.08.2014, 19:21
Сто лет назад, была программа под Dos. Жмёшь: "Record", работаешь... Останавливаешь, что было здорово, программа имела собственный язык. Одним словом: после записи, запускаешь скрипт и всё с точностью кинофильма. ( не помню, как Имя Программы, но вам скорее всего и нужно в эту Степь, например:
http://www.perfectautomation.c... ndows.html
0
21 / 21 / 7
Регистрация: 30.05.2014
Сообщений: 431
31.08.2014, 15:57  [ТС]
желательно кодом. Проги левые не нужны =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2014, 15:57
Помогаю со студенческими работами здесь

Кнопка не создается внутри окна
В программе должно создаваться окно, а в этом окне кпопка, но ее почему-то нет. Создание кпопки на 21 строчке. #include...

Перерисовка внутри окна при изменении размера
Подскажите, когда начинаю менять размер окна с помощью мышки - тяну за угол, само окно становится белым цветом. Проблема знакомая но там я...

Внезапное ограничение на количество окон внутри окна
написал программу, которая отображает каждый пункт списка, как отдельное окно. так вот после 256 окна, остальные не создаются, а...

Обработчик событий внутри класса создания окна
Хочу сделать класс для создания окна (в проекте хочу использовать несколько окон и чтобы не писать для каждого окна отдельный обработчик,...

Не работает событие клик внутри модального окна fancybox
$("").fancybox({ afterShow: function () { $(".fancybox-container").find("#calling2 .tab").each(function() { ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru