47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|||||||||||
1 | |||||||||||
Как послать нажатие клавиши в другое окно программы?20.09.2014, 16:29. Показов 8182. Ответов 10
Метки нет (Все метки)
как послать нажатие клавиши в другое окно программы(неактивное\активное -неважно) а еще что бы окно находило по айди а не по имени, а их может быть и не одно
С++ или на С# не принципиально - где по проще реализация_) Добавлено через 1 час 29 минут думаю подойдет
но как послать именно по айди окна)( да и пример бы использования
0
|
20.09.2014, 16:29 | |
Ответы с готовыми решениями:
10
Медленная реакция программы на нажатие клавиши в игре как узнать нажатие клавиши было программным или от пользователя Отправить нажатие клавиши в другое окно Как, используя sendkeys, послать нажатие клавиши Win? |
Администратор
|
|
20.09.2014, 16:41 | 2 |
Не забывайте про поиск
C++ WinAPI - Как посылать окну нажатия клавиш? C# - Нажатие клавиши в другом приложении
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
20.09.2014, 17:44 [ТС] | 3 | |||||
как то там нету сообщения которое б дало пример с понятной документацией)), в теме с С++ вообще нету реализации использования метода, наброски кода это конечно хорошо, Но когда не знаешь API неочень прикольно,
вконце только увидел
а в сшарп теме вообще по отсиланию нажатия клавиши адресация на другой сайт. в котором даже подсветки синтаксиса кода нету *аж глаза режет ХД - надо будет по пытатся что-то от туда все таки выковырять если рабочее)
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
20.09.2014, 18:46 | 4 |
Например, есть FindWindow
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
20.09.2014, 19:04 [ТС] | 5 | |||||
видел, оно вроде ищет только по имени окна? а по айди? процеса
Добавлено через 2 минуты или еще чем либо, окон на пример с таким же названием окна\процесса будет 2+ Добавлено через 6 минут
То число что у тебя есть - 16ричное. Что бы присвоить его типу инт пишешь 0x "твое число" После приводишь int к hwnd (HWND)"твоя переменная инт которой ты присвоил хендл" спасибо kaliban с Как найти HWND нужного окна?
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
20.09.2014, 19:11 | 6 |
Процессу может принадлежать несколько окон, или их может не быть вовсе.
Так что тут нет простого способа определить окно по pid. Как вариант: можно перебрать все окна с помощью EnumWindows, затем получить для каждого окна его pid с помощью GetWindowThreadProcessId и выбрать только то, у которого нужный тебе pid.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
20.09.2014, 19:18 [ТС] | 7 |
Знать бы еще как узнавать HWND как то в пределех своей программы, а то использовать каждый раз Spy++ как то не в прикол.
Хотелось бы что то на подобии как в UOPilot сделать. Где ид окна берется при наведении на окно курсора мышки, и нажатия клавиш Добавлено через 3 минуты я делаю что то типа нубо бота и полу кликера. для игры Lineage 2 дак что мне надо вроде как основное окно. Например в Spy++ сразу находит handle тот что надо
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
20.09.2014, 19:58 | 8 |
Если используешь Windows Forms, то это HWND hwnd=(HWND)this.Handle.ToPointer();
Если просто Winapi, то hWnd возвращается при создании окна, да и фигурирует в callback-функциях. Добавлено через 1 минуту Может тогда использовать уже готовое решение? Некоторые кликеры обладают достаточно серьезным функционалом. Добавлено через 2 минуты Там используется DirectX, а там для работы с клавой и мышью скорее всего используется DirectInput, или что-то похожее. Так что с клавой и мышью игра скорее всего работает напрямую в обход Winapi, и тогда передавать в окно игры команды не получится.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
21.09.2014, 16:38 [ТС] | 9 | |||||
Добавлено через 4 часа 57 минут что-то с нажатием и стрелки вверх и вниз неоч выходит(персонаж должен ходить). Он то ходит но с анимацией у его беда или типа того, всегда типа первого шага Добавлено через 15 часов 29 минут А как узнать HWND окна если их например несколько, и как в UOPilot Выбирать на какое окно будем вешать клацалку
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
|
22.09.2014, 01:49 | 10 |
Зависит от того по какому критерию ты их разделяешь.
Это уже к C++ не относится, советую спрашивать на форуме разработчика, если таковой имеется.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
22.09.2014, 11:04 [ТС] | 11 | |||||
Уже нашел как
0
|
22.09.2014, 11:04 | |
22.09.2014, 11:04 | |
Помогаю со студенческими работами здесь
11
Как послать в веб-страницу нажатие клавиши TAB. Как, используя sendkeys, послать нажатие клавиши Win? Послать нажатие клавиши процессу Послать нажатие клавиши окну Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |