Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 20

Эмуляция нажатий в другой программе

24.02.2014, 00:21. Показов 1061. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дабы не ходить вокруг да около напишу утрированный пример того что непонятно и очень хотелось бы получить какую-нибудь помощь, поддержку и разъяснения:
Нужно найти и открыть "каклькулятор" и далее эмулировать нажатия по кнопке "Вид" -> "Инженерный"; затем эмулировать нажатия по кнопкам "7" -> "*" -> " = ", после чего через 5 секунд закрыть программу ("Калькулятор").
Почитав подобные темы понял, что надо найти HWND с помощью FindWindow и далее зажать координаты для курсора мышки - где именно нужно кликнуть, но конкретно как это делать не особо понятно.
Знающие люди помогите пожалуйста кодом, ссылкой или полезным советом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2014, 00:21
Ответы с готовыми решениями:

Эмуляция нажатий мышки
Посоветуйте пожалуйста как правильно отправить клик мыши по нужным координатам в свернутое окно браузера.. Желательно чтобы курсор не...

Эмуляция нажатия клавиши в чужой программе., Windows XP
Уважаемые, может сможет кто-нибудь подсказать как справиться с такой проблемой. Есть чужая программа. Нужно ей управлять при помощи своей...

Передача указателей другой программе.
Здоровенько всем! В моей программе - парсере, создаётся дерево вывода. Оно бинарное. Я решил поизвращаться и вывести его в...

3
29 / 29 / 16
Регистрация: 06.03.2013
Сообщений: 159
24.02.2014, 13:01
что касается эмуляции нажатия именно кнопок, то тут можно найти окно калькулятора, у него найти все кнопки и потом по тексту на кнопке определять когда на нее нужно нажимать. что-то в этом духе
C++
1
2
LPARAM lParam = MAKELPARAM(ctrl_coords.x, ctrl_coords.y);
SendMessage(button_handle, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
что касается кликов по меню, то сразу так не скажу, но я бы попробовал у окна калькулятора взять фрейм, а у него меню, ну и дальше посылать клики этому меню.

можно конечно и посылать клики без привязки к окнам, то есть нужно будет подбирать координаты, но этот способ не очень так как если окно чуть сдвинуть или программа запуститься на другом компе, то все координаты окажутся неверными
1
208 / 45 / 13
Регистрация: 06.09.2010
Сообщений: 99
24.02.2014, 14:42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
 
int main()
{
    HWND wnd=FindWindow("SciCalc",0);
    SendMessage(wnd,WM_COMMAND,304,0);
    SendMessage(wnd,WM_COMMAND,(BN_CLICKED<<8)+131,0);
    SendMessage(wnd,WM_COMMAND,(BN_CLICKED<<8)+91,0);
    SendMessage(wnd,WM_COMMAND,(BN_CLICKED<<8)+112,0);
    Sleep(5000);
    SendMessage(wnd,WM_CLOSE,0,0);
 
    return 0;
}
1
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
25.02.2014, 22:56
Есть одна небольшая программка, которая показывает параметры окно по наведению указателем мышки, называется "WinInfo by Andrew I. Reshin". Она показывает класс окна и handle,path,pid,parent.
Я когда-то занимался подобными вещами.
Для использования комбинаций нажатий клавиш(ну например Ctr-C) можно использовать WinAPI функцию keybd_event, но перед этим нужно установить активное окно( SetForegroundWindow).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2014, 22:56
Помогаю со студенческими работами здесь

Одна программа сидит в другой программе
Смысел такой, чтобы запихнуть одну программу в ресурсы другой программы, а потом из ресурсов другой программы достать её и средствами этой...

Узнать значение переменной в другой программе
Здравствуйте Суть задачи такова: - есть некая программа_1(изменить её нельзя), в ней много разных переменных - узнать адрес нужной...

Эмуляция нажатий клавиатуры
Привет всем. Я только начал изучать делфи7 и хочу написать свою первую программу. Суть такова. Программа состоит из 2 эдитов и из 2 кнопок ...

Эмуляция нажатий клавиш
У меня есть залогированы клавиши в блокноте в таком виде(много): Как мне заставить их из блокнота или из Мемо нажиматся в цикле? ...

Эмуляция нажатий клавиш клавиатуры
Посоветуйте, как можно реализовать управление программой (которая управляется с клавиатуры (например игра Quake)) из другой программы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru