С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Ferro7
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 8
#1

Можно ли (и как) на С++ перехватить действия сторонней программы в windows? - C++

08.11.2010, 19:22. Просмотров 849. Ответов 5
Метки нет (Все метки)

Например фотожопа. Возможно ли на С++ написать некоторую программу, которая бы фиксировала все действия, производимые пользователем в фотошопе (наложил фильтр, выбрал другой инструмент и т.п.)?
Т.е. нужно что-то наподобие keylogger, только следить не за нажатиями по клавиатуре, а мышкой по инструментам в программе windows

 Комментарий модератора 
Следите за речью!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2010, 19:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли (и как) на С++ перехватить действия сторонней программы в windows? (C++):

Как проверить, что находится в памяти сторонней программы - C++ Builder
например я нашёл в программе Artmoney адрес переменной 003F88B8 при каждом запуске один и тот же.... можно ли добраться до адреса этого...

ShellExecute и закрытие сторонней программы - C++ Builder
Суть такая. У меня в программе есть кнопка, которая запускает программу командой ShellExecute(NULL,NULL,D:\\Program...

Обращение к класам окна сторонней программы - C++ Builder
Доброго времени суток, помоги пожалуйста решить проблему вот в двух словах что делаю: после того как нашел и проверил мне необходимо...

Скрыть окно сторонней программы посредством C++ - C++ WinAPI
Здравствуйте. Собсно сабж в заголовке. Есть программа, сторонняя которая выполняется долго и мозолит глаза, через vbs скрипт не скрывается...

Возможно ли как-то перехватить действия процесса и повторить их? - C++
Доброго времени суток всем! Есть программа управляющая скоростью кулера. Я хотел бы каким-то образом записать и повторить действия,...

Открытие сторонней программы с кодом C++ - C++
У меня идея пришла в голову открыть с++ кодом сторонную программу, как с bat-файла с текстом start C:путь файла.ехе . Весь гугл облазил,...

5
NickoTin
Почетный модератор
Эксперт .NET
8248 / 3530 / 239
Регистрация: 14.06.2010
Сообщений: 4,510
Записей в блоге: 9
08.11.2010, 20:00 #2
Можете попробовать поставить хуки на WH_CBT, WH_KEYBOARD_LL, WH_MOUSE_LL. Но не факт что это будет работать, тут надо пробовать.
0
Ferro7
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 8
08.11.2010, 20:21  [ТС] #3
Звучит сложно... на одном ресурсе мне сказали, цитирую, "Все элементы в windows имеют свой уникальный идентификатор(относительно родительского окна), так что, на мой взгляд, сделать это довольно просто... "
Тот же самый фотошоп, использует возможности винды для создания панелек, ведь так?
0
NickoTin
Почетный модератор
Эксперт .NET
8248 / 3530 / 239
Регистрация: 14.06.2010
Сообщений: 4,510
Записей в блоге: 9
08.11.2010, 20:27 #4
То-что я Вам привел как раз и относится к получению и работе с уникальными идентификаторами (handles) окон в системе.
0
Ferro7
0 / 0 / 0
Регистрация: 20.07.2009
Сообщений: 8
09.11.2010, 15:31  [ТС] #5
Мне впринципе что нужно-то...
Хочу ряд программ (и фотошоп в том числе) запустить у себя на сервере и управлять ими удалённо через веб-интерфейс. Имитировать движения и клики мышкой - можно и не сложно. Осталось решить иную задачу - как "увидеть" интерфейс программы, его реакции на движения и клики мышкой. Как увиденное передать в браузер - задача для меня не сложная (сам я веб-программист). Другое дело, как перехватит интерфейс...

P.S. Нашёл что то вроде более простое:
http://ru.wikipedia.org/wiki/AutoIt
http://ru.wikipedia.org/wiki/AutoHotkey
Цитата "AutoHotkey позволяет изменить интерфейс любой программы."...
Впринципе, не важно, на каком языке это реализовывать. Главное, что бы это работало. Мне всего лишь то надо получить интерфейс и его свойства, а далее уже я его смогу легко обрабатывать любым способом (PHP) и передавать в браузер, скажем, во флеш. Т.е. копия интерфейса будет в браузере.
0
NickoTin
Почетный модератор
Эксперт .NET
8248 / 3530 / 239
Регистрация: 14.06.2010
Сообщений: 4,510
Записей в блоге: 9
09.11.2010, 18:24 #6
Ferro7, можете попробовать и в AutoIt, должно заработать, опять-же -- надо пробовать.

Добавлено через 23 минуты
Я приводил методы решения относящиеся к языку C\C++.
0
09.11.2010, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2010, 18:24
Привет! Вот еще темы с ответами:

Запись в текстовое поле сторонней программы - C++
В какой-то программе есть поле для ввода текста как выбрать программу и записать в поле определенный текст?

Выполнить действия после закрытия сторонней программы - Delphi
Здравствуйте, требуется помощь я запускаю программу procedure TForm1.Button1Click(Sender: TObject); //запуск memtest+ var...

Ребят, подскажите как можно прогрммно щелкнуть мышкой в окне сторонней программы? - C#
На с++, делал так. void ClickPos (int x, int y) { SetCursorPos(x,y); mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); // нажали левую...

Как получить скриншот сторонней программы? - C#
Вобщем дело такое. Есть программа, которая работает сама по себе (назовём её 1 программой). И есть программа 2, которую пишу я и которая...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.