Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 16
1

Дождаться появления окна и программно нажать на кнопку в нем

02.06.2015, 13:41. Показов 1769. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
насколько это реально и что нужно сделать?
В игре DOTA2 перед тем как начать играть,появляется окно в котором нужно выбрать вариант"готов". Ты клацаешь и игра началась. Суть вопроса. я хочу сделать программу которая, сама принимает вариант "готов", то есть программу которая "например" сканирует определённый участок монитора и сравнивает картинку с этого участка с заранее подготовленной картинкой. Если совпадение есть то в игре выбираеться вариант"готов" посредством клика мышки например по определённым кардинатам. Некая программа которая даже если я отойду, сможет принять игру за меня.
Мне очень интересно что на это скажут матерые форумчане. Заранее благодарю!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 13:41
Ответы с готовыми решениями:

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

IWebBrowser2, как нажать кнопку и дождаться прогрузки?
Доброго времени суток! Суть проекта заключается в том, что программка без графического...

Как можно нажать программно нажать на кнопку, у которой нет id?
Как можно нажать программно нажать на кнопку, у которой нет id?? В html она прописывается так: <a...

Программно загрузить веб-страницу, вставить текст и программно нажать кнопку
Здравствуйте ув. Програмеры. Каким образом можно згрузить веб страницу, вставить в поле на...

12
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.06.2015, 14:25 2
Цитата Сообщение от vasea_morozov Посмотреть сообщение
В игре DOTA2 перед тем как начать играть,появляется окно в котором нужно выбрать вариант"готов". Ты клацаешь и игра началась. Суть вопроса. я хочу сделать программу которая, сама принимает вариант "готов", то есть программу которая "например" сканирует определённый участок монитора и сравнивает картинку с этого участка с заранее подготовленной картинкой. Если совпадение есть то в игре выбираеться вариант"готов" посредством клика мышки например по определённым кардинатам. Некая программа которая даже если я отойду, сможет принять игру за меня.
Это делается по-другому. Нужно определить хендл окна(возможно даже по процессу), использовать перехватчик для нажатия.
Но сразу вас предупреждаю, такие вещи обычно несут не законный характер и если что - готовьтесь к последствиям.
1
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 16
02.06.2015, 16:55  [ТС] 3
ага, а если сделать так как я описал? Если я правильно понимаю, то так как вы написали можно отследить удалённо в плане закона?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
02.06.2015, 17:42 4
Цитата Сообщение от Почтальен Посмотреть сообщение
Это делается по-другому. Нужно определить хендл окна(возможно даже по процессу), использовать перехватчик для нажатия. Но сразу вас предупреждаю, такие вещи обычно несут не законный характер и если что - готовьтесь к последствиям.
С какой стати это незаконно?
0
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.06.2015, 17:46 5
Цитата Сообщение от CheshireCat Посмотреть сообщение
С какой стати это незаконно?
Потому что ТС хочет модифицировать данные.
Цитата Сообщение от vasea_morozov Посмотреть сообщение
ага, а если сделать так как я описал?
Можно сделать как вы хотите, но это будет бооооольшой гемор
1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
03.06.2015, 13:55 6
Лучший ответ Сообщение было отмечено vasea_morozov как решение

Решение

Цитата Сообщение от Почтальен Посмотреть сообщение
Потому что ТС хочет модифицировать данные.
Никакие данные он не хочет модифицировать. Он хочет автоматизировать нажатие кнопки. В нажатии кнопки нет ничего противозаконного.

vasea_morozov, берете Spy++ один раз, узнаете название класса кнопки, и потом хотите анализируете изменение части экрана, хотите ловите по человечески сообщения появления окна подтверждения готовности, и потом уж посылаете ему сообщение о нажатии кнопки готовности.

Первые попавшиеся ссылки:
Клик мышью по координатам
Достать текст(косим под Spy++)
Spy++ MSVS2005
Захват кнопкой курсора как в Spy++
2
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
03.06.2015, 14:51 7
Может и не сработать если игра скажем общается с железом не через обычные сообщенния, а сразу на апаратном уровне.
1
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 16
03.06.2015, 15:32  [ТС] 8
Господа,знали бы вы как приятно общаться с умными людьми!
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
03.06.2015, 15:39 9
Цитата Сообщение от yarko Посмотреть сообщение
Может и не сработать если игра скажем общается с железом не через обычные сообщенния, а сразу на апаратном уровне.
Поясните пожалуйста свою мысль. Каким образом графический интерфейс может общаться с железом на аппаратном уровне?
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
03.06.2015, 16:45 10
DirectInput
1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
04.06.2015, 09:51 11
Цитата Сообщение от yarko Посмотреть сообщение
DirectInput
Да. Это очень жестокая технология. Приползшая из DirectX в OpenGL, лишающая последний кроссплатформенности.
DirectInput позволяет нам не слушать виндовые сообщения и ждать в них от мыши, а непосредственно самим опрашивать ее.
Соглашусь, перехватить какую бы то ни было информацию из самой игры будет сложнее. Но что произойдет при попытке отправить ей сообщение, затрудняюсь сказать.
0
66 / 66 / 18
Регистрация: 31.03.2015
Сообщений: 253
04.06.2015, 11:03 12
А ничего не будет. Такая игра просто игнорит сообщения винды.
Я тоже пробовал для линейки такое делать. Полный ноль
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
04.06.2015, 11:21 13
yarko, а если, предположим совершенно гипотетически, совпадет по времени момент нажатия кнопки и опрос устройства из программы?
0
04.06.2015, 11:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 11:21
Помогаю со студенческими работами здесь

Программно нажать кнопку
Здравствуйте ! сделал мини браузер захожу по ссылки на сайт а там javascript который при...

Программно нажать на кнопку
Здравствуйте специалисты! Помогите разобрать каким образом нажать с помощью JS или jQuerry на...

Нажать кнопку программно
Есть ли способ нажать кнопку программно? Кнопка у меня меняет значение параметра с false на true....

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru